diff --git "a/level-1/\353\221\220-\354\240\225\354\210\230-\354\202\254\354\235\264\354\235\230-\355\225\251.js" "b/level-1/\353\221\220-\354\240\225\354\210\230-\354\202\254\354\235\264\354\235\230-\355\225\251.js" index 859a971..618db2f 100644 --- "a/level-1/\353\221\220-\354\240\225\354\210\230-\354\202\254\354\235\264\354\235\230-\355\225\251.js" +++ "b/level-1/\353\221\220-\354\240\225\354\210\230-\354\202\254\354\235\264\354\235\230-\355\225\251.js" @@ -30,4 +30,18 @@ function solution(a, b) { //정답 4 - prove-ability function solution(a, b) { return Array.from({length: Math.max(a, b) - Math.min(a, b) + 1}, (_, i) => i + Math.min(a, b)).reduce((a, b) => a + b, 0); -} \ No newline at end of file +} + +//정답 5 - jaewon1676 +function solution(a, b) { + if (b < a){ // b가 a보다 큰 수가 되도록 해준다. + let c = b + b = a + a = c + } + let sum = 0; // 합을 구할 변수 + for (let i=a; i<=b; i++){ + sum += i + } + return sum; +} diff --git "a/level-1/\354\206\214\354\210\230-\354\260\276\352\270\260.js" "b/level-1/\354\206\214\354\210\230-\354\260\276\352\270\260.js" index d2e30a8..1774ae6 100644 --- "a/level-1/\354\206\214\354\210\230-\354\260\276\352\270\260.js" +++ "b/level-1/\354\206\214\354\210\230-\354\260\276\352\270\260.js" @@ -77,4 +77,24 @@ function solution(n) { } return count; -} \ No newline at end of file +} + +//정답 4 - jaewon1676 +function solution(n) { + let arr = []; + + // 0과 1을 제외한 2부터 n까지 배열에 담아줍니다. + for(let i=2; i<=n; i++) { + arr[i] = i; + } + for(let i=2; i<=n; i++) { // 인덱스 2부터 반복문 돌면서 0이면 다시 다음 반복문을 돕니다. + if (arr[i] === 0) continue; + + for(let j=i*2; j<=n; j+=i) { // 각 인덱스(i)의 배수들을 0으로 지정해줍니다. + arr[j] = 0; + } + } + + // filter를 이용해 0이아닌 수들의 개수를 return합니다. + return arr.filter(v => v!==0).length; +} diff --git "a/level-2/\354\202\274\352\260\201-\353\213\254\355\214\275\354\235\264.js" "b/level-2/\354\202\274\352\260\201-\353\213\254\355\214\275\354\235\264.js" index 36b2cd3..c381952 100644 --- "a/level-2/\354\202\274\352\260\201-\353\213\254\355\214\275\354\235\264.js" +++ "b/level-2/\354\202\274\352\260\201-\353\213\254\355\214\275\354\235\264.js" @@ -17,3 +17,24 @@ function solution(n) { } return snail.flatMap((num) => num); } + +//정답 2 - jaewon1676 +function solution(n) { + const answer = new Array(n).fill().map((e, i) => new Array(i + 1)); + // 이차원배열을 만들어준다 + + let count = 0; + let x = -1; // 행 , 0행 0열부터 시작해주기 위해 x는 -1 해줍니다. + let y = 0; // 열 + while (n > 0) { + for (let i = 0; i < n; i++) answer[++x][y] = ++count; // 아래로 이동합니다. + for (let i = 0; i < n - 1; i++) answer[x][++y] = ++count; // 오른쪽으로 이동합니다. + for (let i = 0; i < n - 2; i++) answer[--x][--y] = ++count; // 대각선 오른쪽 위로 이동합니다. + + n -= 3; + } + return answer.flatMap(e => e); + // flatMap은 이차원의 여러 배열을 하나의 배열로 묶어줍니다. + // ex [ [ 1 ], [ 2, 9 ], [ 3, 10, 8 ], [ 4, 5, 6, 7 ] ] + // => [1, 2, 9, 3, 10, 8, 4, 5, 6, 7] +} diff --git "a/level-2/\355\201\260-\354\210\230-\353\247\214\353\223\244\352\270\260.js" "b/level-2/\355\201\260-\354\210\230-\353\247\214\353\223\244\352\270\260.js" index 8540c32..1bedf83 100644 --- "a/level-2/\355\201\260-\354\210\230-\353\247\214\353\223\244\352\270\260.js" +++ "b/level-2/\355\201\260-\354\210\230-\353\247\214\353\223\244\352\270\260.js" @@ -14,4 +14,23 @@ function solution(number, k) { } answer = answerStack.join('') return answer; -} \ No newline at end of file +} + +//정답 4 - jaewon1676 +function solution(number, k) { + const stack = []; + let answer = ''; + + for(let i=0; i 0 && stack[stack.length-1] < el){ + stack.pop(); + k--; + } + stack.push(el); + } + stack.splice(stack.length-k, k); + answer = stack.join(""); + return answer; +} + \ No newline at end of file