From b15966cc134b74e17674ad6bf5c9220cd736a698 Mon Sep 17 00:00:00 2001 From: jaewon Date: Mon, 4 Apr 2022 14:24:54 +0900 Subject: [PATCH 01/11] =?UTF-8?q?Update=20x=EB=A7=8C=ED=81=BC=20=EA=B0=84?= =?UTF-8?q?=EA=B2=A9=EC=9D=B4=20=EC=9E=88=EB=8A=94=20n=EA=B0=9C=EC=9D=98?= =?UTF-8?q?=20=EC=88=AB=EC=9E=90.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...52\260\234\354\235\230-\354\210\253\354\236\220.js" | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git "a/level-1/x\353\247\214\355\201\274-\352\260\204\352\262\251\354\235\264-\354\236\210\353\212\224-n\352\260\234\354\235\230-\354\210\253\354\236\220.js" "b/level-1/x\353\247\214\355\201\274-\352\260\204\352\262\251\354\235\264-\354\236\210\353\212\224-n\352\260\234\354\235\230-\354\210\253\354\236\220.js" index ef43801..f73bddb 100644 --- "a/level-1/x\353\247\214\355\201\274-\352\260\204\352\262\251\354\235\264-\354\236\210\353\212\224-n\352\260\234\354\235\230-\354\210\253\354\236\220.js" +++ "b/level-1/x\353\247\214\355\201\274-\352\260\204\352\262\251\354\235\264-\354\236\210\353\212\224-n\352\260\234\354\235\230-\354\210\253\354\236\220.js" @@ -20,3 +20,13 @@ function solution(x, n) { } return answer; } + +//정답 3 - jaewon1676 +function solution(n) { + let str = ''; + for (let i=0; i Date: Mon, 4 Apr 2022 14:29:52 +0900 Subject: [PATCH 02/11] =?UTF-8?q?Update=20=EC=88=98=EB=B0=95=EC=88=98?= =?UTF-8?q?=EB=B0=95=EC=88=98=EB=B0=95=EC=88=98=EB=B0=95=EC=88=98=EB=B0=95?= =?UTF-8?q?=EC=88=98=3F.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...353\260\225\354\210\230\353\260\225\354\210\230.js" | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git "a/level-1/\354\210\230\353\260\225\354\210\230\353\260\225\354\210\230\353\260\225\354\210\230\353\260\225\354\210\230\353\260\225\354\210\230.js" "b/level-1/\354\210\230\353\260\225\354\210\230\353\260\225\354\210\230\353\260\225\354\210\230\353\260\225\354\210\230\353\260\225\354\210\230.js" index 326c17f..06a37c2 100644 --- "a/level-1/\354\210\230\353\260\225\354\210\230\353\260\225\354\210\230\353\260\225\354\210\230\353\260\225\354\210\230\353\260\225\354\210\230.js" +++ "b/level-1/\354\210\230\353\260\225\354\210\230\353\260\225\354\210\230\353\260\225\354\210\230\353\260\225\354\210\230\353\260\225\354\210\230.js" @@ -14,3 +14,13 @@ function solution(n) { // "수박"을 n번 반복한 문자열의 0번 인덱스부터 n만큼 추출해서 반환 return "수박".repeat(n).substr(0, n); } + +//정답 3 - jaewon1676 +function solution(n) { + let str = ''; + for (let i=0; i Date: Mon, 4 Apr 2022 14:32:02 +0900 Subject: [PATCH 03/11] =?UTF-8?q?Update=20=EC=95=BD=EC=88=98=EC=9D=98=20?= =?UTF-8?q?=EA=B0=9C=EC=88=98=EC=99=80=20=EB=8D=A7=EC=85=88.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...30\354\231\200-\353\215\247\354\205\210.js" | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git "a/level-1/\354\225\275\354\210\230\354\235\230-\352\260\234\354\210\230\354\231\200-\353\215\247\354\205\210.js" "b/level-1/\354\225\275\354\210\230\354\235\230-\352\260\234\354\210\230\354\231\200-\353\215\247\354\205\210.js" index d48351b..d106da4 100644 --- "a/level-1/\354\225\275\354\210\230\354\235\230-\352\260\234\354\210\230\354\231\200-\353\215\247\354\205\210.js" +++ "b/level-1/\354\225\275\354\210\230\354\235\230-\352\260\234\354\210\230\354\231\200-\353\215\247\354\205\210.js" @@ -27,4 +27,20 @@ const divisorCounter = (num) => { const sqrt = Math.sqrt(num) for (let i = 1; i <= sqrt; i++) if (num % i === 0) count += 1 return Number.isInteger(sqrt) ? (count - 1) * 2 + 1 : count * 2 -} \ No newline at end of file +} + +//정답 3 - jaewon1676 +function solution(left, right) { + var answer = 0; + + for (left; left<=right; left++){ + // left의 제곱근이 정수면 약수의 개수는 홀수 + if (Number.isInteger(Math.sqrt(left))){ + answer -= left + } else { + answer += left + } + } + return answer; +} + // \ No newline at end of file From 555d239a530e24d7236a01bf6b0228539079d3ba Mon Sep 17 00:00:00 2001 From: jaewon Date: Mon, 4 Apr 2022 14:33:03 +0900 Subject: [PATCH 04/11] =?UTF-8?q?Update=20=EC=A7=9D=EC=88=98=EC=99=80=20?= =?UTF-8?q?=ED=99=80=EC=88=98.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...5\354\210\230\354\231\200-\355\231\200\354\210\230.js" | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git "a/level-1/\354\247\235\354\210\230\354\231\200-\355\231\200\354\210\230.js" "b/level-1/\354\247\235\354\210\230\354\231\200-\355\231\200\354\210\230.js" index f186146..0a0ee80 100644 --- "a/level-1/\354\247\235\354\210\230\354\231\200-\355\231\200\354\210\230.js" +++ "b/level-1/\354\247\235\354\210\230\354\231\200-\355\231\200\354\210\230.js" @@ -9,4 +9,12 @@ function solution(num) { //정답 2 - chaerin-dev function solution(num) { return num % 2 == 0 ? "Even" : "Odd"; +} + +//정답 3 - jaewon1676 +function solution(num) { + let answer + (num % 2 == 0 ? answer = 'Even' : answer = 'Odd') + // 삼항 연산자를 사용하여 참일경우 Even, 거짓일 경우 Odd를 반환. + return answer; } \ No newline at end of file From d665eb00e0522e4a8fbbf1b3971ed881cf81dc64 Mon Sep 17 00:00:00 2001 From: jaewon Date: Mon, 4 Apr 2022 14:35:05 +0900 Subject: [PATCH 05/11] =?UTF-8?q?Update=20=EC=BD=9C=EB=9D=BC=EC=B8=A0=20?= =?UTF-8?q?=EC=B6=94=EC=B8=A1.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...235\274\354\270\240-\354\266\224\354\270\241.js" | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git "a/level-1/\354\275\234\353\235\274\354\270\240-\354\266\224\354\270\241.js" "b/level-1/\354\275\234\353\235\274\354\270\240-\354\266\224\354\270\241.js" index 9ff483c..ed3663c 100644 --- "a/level-1/\354\275\234\353\235\274\354\270\240-\354\266\224\354\270\241.js" +++ "b/level-1/\354\275\234\353\235\274\354\270\240-\354\266\224\354\270\241.js" @@ -31,4 +31,17 @@ function solution(num) { } // 작업을 반복한 횟수 반환 return cnt; +} + +//정답 3 - jaewon1676 +function solution(num) { + var answer = 0; + // num이 1이 아니고, answer이 500이 아니면 진행. + // 두 가지 조건중 하나라도 맞지 않으면 while문 종료. + while(num != 1 && answer != 500){ + //짝수면, 2로 나눠주고 홀수면 3을 곱하고 1을 더해준다. + (num % 2 == 0 ? num = num / 2 : num = num * 3 + 1) + answer++; + } + return num == 1 ? answer : -1 } \ No newline at end of file From 0a26511d5bd5b5f5d5fd22582f8dc2590669e113 Mon Sep 17 00:00:00 2001 From: jaewon Date: Mon, 4 Apr 2022 14:36:21 +0900 Subject: [PATCH 06/11] =?UTF-8?q?Update=20=ED=9E=88=EC=83=A4=EB=93=9C=20?= =?UTF-8?q?=EC=88=98.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...36\210\354\203\244\353\223\234-\354\210\230.js" | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git "a/level-1/\355\236\210\354\203\244\353\223\234-\354\210\230.js" "b/level-1/\355\236\210\354\203\244\353\223\234-\354\210\230.js" index acaab96..fc822e4 100644 --- "a/level-1/\355\236\210\354\203\244\353\223\234-\354\210\230.js" +++ "b/level-1/\355\236\210\354\203\244\353\223\234-\354\210\230.js" @@ -22,4 +22,16 @@ function solution(x) { } // x가 각 자릿수의 합으로 나누어떨어지는지 여부 반환 return x % sum_of_digits == 0; -} \ No newline at end of file +} + +//정답 3 - jaewon1676 +function solution(x) { + let sum = 0; + let arr = String(x).split(''); // 숫자를 하나씩 분리한다. + + for(var i=0; i Date: Mon, 4 Apr 2022 14:39:08 +0900 Subject: [PATCH 07/11] =?UTF-8?q?Update=20=EB=8B=A4=EB=A6=AC=EB=A5=BC=20?= =?UTF-8?q?=EC=A7=80=EB=82=98=EB=8A=94=20=ED=8A=B8=EB=9F=AD.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\353\212\224-\355\212\270\353\237\255.js" | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git "a/level-2/\353\213\244\353\246\254\353\245\274-\354\247\200\353\202\230\353\212\224-\355\212\270\353\237\255.js" "b/level-2/\353\213\244\353\246\254\353\245\274-\354\247\200\353\202\230\353\212\224-\355\212\270\353\237\255.js" index bb37f20..e8b5cd6 100644 --- "a/level-2/\353\213\244\353\246\254\353\245\274-\354\247\200\353\202\230\353\212\224-\355\212\270\353\237\255.js" +++ "b/level-2/\353\213\244\353\246\254\353\245\274-\354\247\200\353\202\230\353\212\224-\355\212\270\353\237\255.js" @@ -27,4 +27,29 @@ function solution(bridge_length, weight, truck_weights) { bridge.unshift(truck_weights.shift()) : bridge.unshift(0) } while (bridge.reduce((a, b) => a + b) !== 0) return tick; -} \ No newline at end of file +} + +//정답 3 - jaewon1676 +function solution(bridge_length, weight, truck_weights) { + var answer = 0; // 총 걸리는 시간 + let bridge = []; // 다리를 건너는 트럭 + let bridge_weight = 0; // 다리를 건너는 트럭의 총 무게 + + while (truck_weights.length > 0) { // 대기 트럭이 없을때까지 반복한다. + answer++; // 1초 추가 + if (bridge.length == bridge_length) { // 다리가 가득 차있으면 제일 먼저 들어간 트럭을 뺴준다. + bridge_weight -= bridge.shift(); + } + if (bridge_weight + truck_weights[0] > weight) { + bridge.push(0); + continue; + } + let truck_weight = truck_weights.shift(); + bridge.push(truck_weight); + bridge_weight += truck_weight; + } + + answer += bridge_length; + + return answer; + } \ No newline at end of file From d2e08e86ae479138749d454b646aa3a723042abb Mon Sep 17 00:00:00 2001 From: jaewon Date: Mon, 4 Apr 2022 14:42:06 +0900 Subject: [PATCH 08/11] =?UTF-8?q?Update=20=EC=9C=84=EC=9E=A5.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "level-2/\354\234\204\354\236\245.js" | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git "a/level-2/\354\234\204\354\236\245.js" "b/level-2/\354\234\204\354\236\245.js" index e6d7373..01ff8ff 100644 --- "a/level-2/\354\234\204\354\236\245.js" +++ "b/level-2/\354\234\204\354\236\245.js" @@ -44,3 +44,26 @@ function solution(clothes) { return answer - 1; } + +//정답 4 - jaewon1676 +function solution(clothes) { + var answer = 1; + var obj={}; + for(var i=0;i Date: Mon, 4 Apr 2022 14:45:02 +0900 Subject: [PATCH 09/11] =?UTF-8?q?[=ED=92=80=EC=9D=B4=20=EC=B6=94=EA=B0=80]?= =?UTF-8?q?=202022-04-04,=201=EB=AC=B8=EC=A0=9C,=202=20x=20n=20=ED=83=80?= =?UTF-8?q?=EC=9D=BC=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "level-3/2_x_n_\355\203\200\354\235\274\353\247\201.js" | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "level-3/2_x_n_\355\203\200\354\235\274\353\247\201.js" diff --git "a/level-3/2_x_n_\355\203\200\354\235\274\353\247\201.js" "b/level-3/2_x_n_\355\203\200\354\235\274\353\247\201.js" new file mode 100644 index 0000000..e69de29 From 3dd97b5868a30c71ca5721d1688da69635a97256 Mon Sep 17 00:00:00 2001 From: jaewon Date: Mon, 4 Apr 2022 14:46:52 +0900 Subject: [PATCH 10/11] =?UTF-8?q?[=ED=92=80=EC=9D=B4=20=EC=B6=94=EA=B0=80]?= =?UTF-8?q?=202022-04-04,=201=EB=AC=B8=EC=A0=9C,=20=EC=9D=B4=EC=A4=91?= =?UTF-8?q?=EC=9A=B0=EC=84=A0=EC=88=9C=EC=9C=84=ED=81=90.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...40\354\210\234\354\234\204\355\201\220.js" | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 "level-3/\354\235\264\354\244\221\354\232\260\354\204\240\354\210\234\354\234\204\355\201\220.js" diff --git "a/level-3/\354\235\264\354\244\221\354\232\260\354\204\240\354\210\234\354\234\204\355\201\220.js" "b/level-3/\354\235\264\354\244\221\354\232\260\354\204\240\354\210\234\354\234\204\355\201\220.js" new file mode 100644 index 0000000..2535ad1 --- /dev/null +++ "b/level-3/\354\235\264\354\244\221\354\232\260\354\204\240\354\210\234\354\234\204\355\201\220.js" @@ -0,0 +1,34 @@ +//https://github.com/codeisneverodd/programmers-coding-test +//완벽한 정답이 아닙니다. +//정답 1 - jaewon1676 +function solution(operations) { + var answer = []; + for (let i = 0; i < operations.length; i++) { + + // 숫자 삽입 + if (operations[i][0] == 'I') { + let m = operations[i].substring(2, operations[i].length) + answer.push(m) + } + // if 최댓값 삭제 + else if (operations[i][0] == 'D' && operations[i][2] == '1' && operations.length > 0) { + answer.pop() + } + // if 최솟값 삭제 + else if (operations[i][0] == 'D' && operations[i][2] == '-' && operations[i][3] == '1' && operations.length > 0){ + + answer.shift() + } + + answer.sort((a, b) => {return a - b}); + } + if (answer.length == 0) return [0, 0] + else { + return [parseInt(answer.pop()), parseInt(answer.shift())]; + } +} +/* 풀이 과정 +1. 연산 처리를 구별하기 위해 배열의 0번째 자리, 2번째 자리에 있는 등을 비교하여 조건에 따른 명령을 실행한다. +2. answer 배열을 정렬 해준다 +3. 큐가 비어있으면 ( length == 0 ) 0을 반환. , 그렇지 않으면 [최댓값, 최솟값]을 반환한다. +*/ \ No newline at end of file From 8634561abfa23e9cc7cf43f7d5a5fe18830e0a21 Mon Sep 17 00:00:00 2001 From: jaewon Date: Mon, 4 Apr 2022 14:54:18 +0900 Subject: [PATCH 11/11] =?UTF-8?q?[=ED=92=80=EC=9D=B4=20=EC=B6=94=EA=B0=80]?= =?UTF-8?q?=202022-04-04,=201=EB=AC=B8=EC=A0=9C,=202=5Fx=5Fn=5F=ED=83=80?= =?UTF-8?q?=EC=9D=BC=EB=A7=81.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ..._x_n_\355\203\200\354\235\274\353\247\201.js" | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git "a/level-3/2_x_n_\355\203\200\354\235\274\353\247\201.js" "b/level-3/2_x_n_\355\203\200\354\235\274\353\247\201.js" index e69de29..aeacf60 100644 --- "a/level-3/2_x_n_\355\203\200\354\235\274\353\247\201.js" +++ "b/level-3/2_x_n_\355\203\200\354\235\274\353\247\201.js" @@ -0,0 +1,16 @@ +//https://github.com/codeisneverodd/programmers-coding-test +//완벽한 정답이 아닙니다. +//정답 1 - jaewon1676 +function solution(n) { + let dp = [0, 1, 2] // n이 1, 2일때는 바로 답을 출력, + if (n>2){ // n이 3 이상이면 필요한 만큼의 수 까지만 수를 만들어준다. + for (let i=3; i<=n; i++){ + dp.push((dp[i-1] + dp[i-2]) % 1000000007); + } + } + return dp[n] +} +/* +n이 1일땐 1, 2일땐 2, 3일땐 3, 4일땐 5 . . 의 식이 보인다. +n = (n - 1) + (n - 2)의 식으로 구할 수 있고, +제한 사항을 주의해서 풀어보자. */ \ No newline at end of file