Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit dc5f4b3

Browse files
Merge pull request #54 from jaewon1676/main
2022. 5. 9(월) jaewon1676 4문제의 풀이 추가
2 parents c6666a1 + e0ea2a1 commit dc5f4b3

File tree

4 files changed

+77
-3
lines changed

4 files changed

+77
-3
lines changed

‎level-1/두-정수-사이의-합.js‎

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,18 @@ function solution(a, b) {
3030
//정답 4 - prove-ability
3131
function solution(a, b) {
3232
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);
33-
}
33+
}
34+
35+
//정답 5 - jaewon1676
36+
function solution(a, b) {
37+
if (b < a){ // b가 a보다 큰 수가 되도록 해준다.
38+
let c = b
39+
b = a
40+
a = c
41+
}
42+
let sum = 0; // 합을 구할 변수
43+
for (let i=a; i<=b; i++){
44+
sum += i
45+
}
46+
return sum;
47+
}

‎level-1/소수-찾기.js‎

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,24 @@ function solution(n) {
7777
}
7878

7979
return count;
80-
}
80+
}
81+
82+
//정답 4 - jaewon1676
83+
function solution(n) {
84+
let arr = [];
85+
86+
// 0과 1을 제외한 2부터 n까지 배열에 담아줍니다.
87+
for(let i=2; i<=n; i++) {
88+
arr[i] = i;
89+
}
90+
for(let i=2; i<=n; i++) { // 인덱스 2부터 반복문 돌면서 0이면 다시 다음 반복문을 돕니다.
91+
if (arr[i] === 0) continue;
92+
93+
for(let j=i*2; j<=n; j+=i) { // 각 인덱스(i)의 배수들을 0으로 지정해줍니다.
94+
arr[j] = 0;
95+
}
96+
}
97+
98+
// filter를 이용해 0이아닌 수들의 개수를 return합니다.
99+
return arr.filter(v => v!==0).length;
100+
}

‎level-2/삼각-달팽이.js‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,24 @@ function solution(n) {
1717
}
1818
return snail.flatMap((num) => num);
1919
}
20+
21+
//정답 2 - jaewon1676
22+
function solution(n) {
23+
const answer = new Array(n).fill().map((e, i) => new Array(i + 1));
24+
// 이차원배열을 만들어준다
25+
26+
let count = 0;
27+
let x = -1; // 행 , 0행 0열부터 시작해주기 위해 x는 -1 해줍니다.
28+
let y = 0; // 열
29+
while (n > 0) {
30+
for (let i = 0; i < n; i++) answer[++x][y] = ++count; // 아래로 이동합니다.
31+
for (let i = 0; i < n - 1; i++) answer[x][++y] = ++count; // 오른쪽으로 이동합니다.
32+
for (let i = 0; i < n - 2; i++) answer[--x][--y] = ++count; // 대각선 오른쪽 위로 이동합니다.
33+
34+
n -= 3;
35+
}
36+
return answer.flatMap(e => e);
37+
// flatMap은 이차원의 여러 배열을 하나의 배열로 묶어줍니다.
38+
// ex [ [ 1 ], [ 2, 9 ], [ 3, 10, 8 ], [ 4, 5, 6, 7 ] ]
39+
// => [1, 2, 9, 3, 10, 8, 4, 5, 6, 7]
40+
}

‎level-2/큰-수-만들기.js‎

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,23 @@ function solution(number, k) {
1414
}
1515
answer = answerStack.join('')
1616
return answer;
17-
}
17+
}
18+
19+
//정답 4 - jaewon1676
20+
function solution(number, k) {
21+
const stack = [];
22+
let answer = '';
23+
24+
for(let i=0; i<number.length; i++){
25+
const el = number[i];
26+
while(k > 0 && stack[stack.length-1] < el){
27+
stack.pop();
28+
k--;
29+
}
30+
stack.push(el);
31+
}
32+
stack.splice(stack.length-k, k);
33+
answer = stack.join("");
34+
return answer;
35+
}
36+

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /