diff --git a/190611/190617/problem.md b/190611/190617/problem.md new file mode 100644 index 0000000..1ba81b0 --- /dev/null +++ b/190611/190617/problem.md @@ -0,0 +1,4 @@ +# programmers 타겟 넘버 + +- https://programmers.co.kr/learn/courses/30/lessons/43165 + diff --git a/190611/H/count_prime_number.py b/190611/H/count_prime_number.py new file mode 100644 index 0000000..dae7eea --- /dev/null +++ b/190611/H/count_prime_number.py @@ -0,0 +1,31 @@ +from itertools import permutations + + +def makeNumbers(numbers): + numbers = list(numbers) + resultA = [] + for i in range(1, len(numbers)+1): + resultA.append(permutations(numbers, i)) + resultB = [y for x in resultA for y in x] + answer = set([str(int(''.join(j))) for j in resultB]) + return answer + + +def countPrimeNumber(numberlist): + answer = 0 + for i in numberlist: + t = int(i) + result = 0 + for j in range(2, t): + if t % j == 0: + result += 1 + break + if result == 0 and t != 1 and t != 0: + answer += 1 + return answer + + +def solution(numbers): + numberlist = makeNumbers(numbers) + answer = countPrimeNumber(numberlist) + return answer diff --git a/190611/honux/test.js b/190611/honux/test.js new file mode 100644 index 0000000..cdad665 --- /dev/null +++ b/190611/honux/test.js @@ -0,0 +1,21 @@ +let arr = [1,2,3,4]; + +function swap(arr, i, j) { + const temp = arr[i]; + arr[i] = arr[j]; + arr[j] = temp; +} + +function all(arr, n) { + if (n == arr.length - 1) { + console.log(arr); + } + for (let i = n; i < arr.length ; i++) { + swap(arr, n, i); + all(arr, n + 1); + swap(arr, n, i); + } +} + +all(arr, 0); + diff --git a/190611/honux/test2.js b/190611/honux/test2.js new file mode 100644 index 0000000..c2aa652 --- /dev/null +++ b/190611/honux/test2.js @@ -0,0 +1,22 @@ +function swap(arr, i, j) { + const temp = arr[i]; + arr[i] = arr[j]; + arr[j] = temp; +} + +function perm(arr, k, j = 0) { + if (j === k){ + console.log(arr.slice(0,j)); + return; + } + for (let i = j; i < arr.length; i++) { + swap(arr, i, j); + perm(arr, k, j + 1); + swap(arr, i, j); + } +} + +arr = [1, 2, 3]; +perm(arr, 1); +console.log("=========="); +perm(arr, 2); diff --git a/190611/honux/try1.js b/190611/honux/try1.js new file mode 100644 index 0000000..fac5e1a --- /dev/null +++ b/190611/honux/try1.js @@ -0,0 +1,43 @@ +const prime = [] +const maxn = 9999999; +let count = 0; + +for (let i = 0; i <= maxn; i++) { + prime.push(true); +} +prime[0] = prime[1] = false; + +for (let i = 2; i<= maxn; i++) { + if(!prime[i]) continue; + for (let j = i * 2; j <= maxn; j += i) { + prime[j] = false; + } +} + +function swap(arr, i, j) { + const temp = arr[i]; + arr[i] = arr[j]; + arr[j] = temp; +} + +function genNum(arr, i) { + if (i == arr.length - 1) { + const n = Number(arr.join("")); + console.log(n); + if (prime[n]) count++; + return; + } + for (let j = i; j < arr.length; j++) { + swap(arr, i, j); + genNum(arr, i + 1); + swap(arr, i, j); + } +} + +function solution(numbers) { + count = 0; + let a = numbers.split(""); + console.log(a); + genNum(a, 0); + return count; +} diff --git a/190611/honux/try2.js b/190611/honux/try2.js new file mode 100644 index 0000000..e9e278d --- /dev/null +++ b/190611/honux/try2.js @@ -0,0 +1,50 @@ +const prime = [] +const maxn = 9999999; +let count = 0; + +for (let i = 0; i <= maxn; i++) { + prime.push(true); +} +prime[0] = prime[1] = false; + +for (let i = 2; i<= maxn; i++) { + if(!prime[i]) continue; + for (let j = i * 2; j <= maxn; j += i) { + prime[j] = false; + } +} + +function swap(arr, i, j) { + const temp = arr[i]; + arr[i] = arr[j]; + arr[j] = temp; +} + +function perm(arr, k, j = 0) { + if (j === k){ + const n = Number(arr.slice(0, j).join("")); + console.log(n); + //count only once + if (prime[n]) { + count++; + prime[n] = false; + } + return; + } + for (let i = j; i < arr.length; i++) { + swap(arr, i, j); + perm(arr, k, j + 1); + swap(arr, i, j); + } +} + +function solution(numbers) { + count = 0; + let a = numbers.split(""); + for (let i = 1; i <= numbers.length; i++) { + perm(a, i); + } + return count; +} + +console.log(solution("17")); diff --git a/190613/wangmin/bj10989.cpp b/190613/wangmin/bj10989.cpp new file mode 100644 index 0000000..c555b9a --- /dev/null +++ b/190613/wangmin/bj10989.cpp @@ -0,0 +1,32 @@ +#include +#include + +using namespace std; + +int main(){ + cin.tie(NULL); + cout.tie(NULL); + ios_base :: sync_with_stdio(false); + + int N; + cin >> N; + int a; + vector count(10001, 0); + + + for(int i = 0; i < N; i++){ + cin >> a; + count[a]++; + } + + for(int i = 0; i <= 10001; i++){ + for(int j = count[i]; j > 0; j--){ + cout << i << "\n"; + } + } + + + return 0; +} + + diff --git a/190618/problem.md b/190618/problem.md new file mode 100644 index 0000000..886ee22 --- /dev/null +++ b/190618/problem.md @@ -0,0 +1,6 @@ +# programmers 체육복 + +- https://programmers.co.kr/learn/courses/30/lessons/42862 +- 레벨 1 +- 분류: greedy +