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 25ba838

Browse files
Merge pull request #35 from prove-ability/main
[정기적 문제 풀이 추가 PR] 2022年04月19日
2 parents 6eae698 + 7db2c13 commit 25ba838

17 files changed

+195
-3
lines changed

‎level-1/3진법-뒤집기.js‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,9 @@ function solution(n) {
3131
var answer = n.toString(3).split('').reverse().join('')
3232

3333
return parseInt(answer, 3)
34+
}
35+
36+
//정답 4 - prove-ability
37+
function solution(n) {
38+
return parseInt(n.toString(3).split("").reverse().join(""), 3)
3439
}

‎level-1/같은-숫자는-싫어.js‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,22 @@ function solution(arr) {
2323
// 첫 번째 요소의 경우 undefined와 비교
2424
return arr.filter((item, index) => item !== arr[index - 1]);
2525
}
26+
27+
// 정답 4 - prove-ability
28+
function solution(arr) {
29+
let answer = [];
30+
// 이중 배열을 사용해서 포인터?를 두 개를 사용한다
31+
for (let i = 0, len = arr.length - 1; i < len; i++) {
32+
// i 의 다음수를 비교하기 위해 j = (i + 1)
33+
for (let j = i + 1, len = arr.length; j < len; j++) {
34+
// i 와 j 번째 값이 같이 않다면
35+
if (arr[i] !== arr[j]) {
36+
answer.push(arr[i]);
37+
i = j - 1;
38+
break;
39+
}
40+
}
41+
}
42+
answer.push(arr[arr.length - 1]);
43+
return answer;
44+
}

‎level-1/나누어-떨어지는-숫자-배열.js‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,11 @@ function solution(arr, divisor) {
2626
if (e % divisor === 0) answer.push(e);
2727
});
2828
return answer.length ? answer.sort((a, b) => a - b) : [-1];
29+
}
30+
31+
//정답 4 - prove-ailbity
32+
function solution(arr, divisor) {
33+
var answer = [];
34+
arr.forEach((v) => v % divisor === 0 && answer.push(v))
35+
return answer.length === 0 ? [-1] : answer.sort((a, b) => a - b);
2936
}

‎level-1/나머지가-1이-되는-수-찾기.js‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,18 @@ function solution(n) {
77
n % divisor === 1 ? answer = divisor : null
88
}
99
return answer;
10+
}
11+
12+
//정답 2 - prove-ability
13+
function solution(n) {
14+
var answer = 0;
15+
let i = 0;
16+
while(true) {
17+
if(n % i === 1) {
18+
answer = i;
19+
break;
20+
}
21+
i++;
22+
}
23+
return answer;
1024
}

‎level-1/두-개-뽑아서-더하기.js‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,17 @@ function solution(numbers) {
1212
answer = [...new Set(answer)]
1313
answer.sort((a, b) => a - b)
1414
return answer;
15+
}
16+
17+
//정답 2 - prove-ability
18+
function solution(numbers) {
19+
const answer = [];
20+
21+
for(let i = 0, len = numbers.length; i < len; i++) {
22+
for(let j = i + 1, len = numbers.length; j < len; j++) {
23+
if(!answer.includes(numbers[i] + numbers[j])) answer.push(numbers[i] + numbers[j])
24+
}
25+
}
26+
27+
return answer.sort((a, b) => a - b);
1528
}

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,17 @@ function solution(a, b) {
1717
}
1818
return answer;
1919
}
20+
21+
//정답 3 - prove-ability
22+
function solution(a, b) {
23+
let answer = 0;
24+
for(let i = Math.min(a, b), len = Math.max(a, b); i <= len; i++) {
25+
answer += i;
26+
}
27+
return answer;
28+
}
29+
30+
//정답 4 - prove-ability
31+
function solution(a, b) {
32+
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+
}

‎level-1/문자열-내-마음대로-정렬하기.js‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,16 @@ function solution(strings, n) {
2222
else return a > b ? 1 : -1;
2323
});
2424
}
25+
26+
// 정답 3 - prove-ability
27+
function solution(strings, n) {
28+
// 정렬
29+
strings.sort((a, b) => {
30+
// n번째 클자가 같다면 사전순
31+
if(a[n].charCodeAt() === b[n].charCodeAt()) {
32+
return a > b ? 1 : -1;
33+
} else return a[n].charCodeAt() - b[n].charCodeAt();
34+
});
35+
36+
return strings;
37+
}

‎level-1/문자열-내림차순으로-배치하기.js‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,8 @@ function solution(s) {
2121
function solution(s) {
2222
return s.split("").sort((a, b) => (a < b ? 1 : -1)).join("");
2323
}
24+
25+
//정답4 - prove-ability
26+
function solution(s) {
27+
return s.split("").sort().reverse().join("")
28+
}

‎level-1/부족한-금액-계산하기.js‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,14 @@ function solution(price, money, count) {
3636
return 0;
3737
}
3838
return sum_price - money;
39+
}
40+
41+
//정답 3 - prove-ability
42+
function solution(price, money, count) {
43+
let sum = 0;
44+
for(let i = 1; i <= count; i++) {
45+
sum += (i * price)
46+
}
47+
48+
return sum < money ? 0 : sum - money;
3949
}

‎level-1/서울에서-김서방-찾기.js‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,8 @@ function solution(seoul) {
1111
function solution(seoul) {
1212
return `김서방은 ${seoul.indexOf("Kim")}에 있다`;
1313
}
14+
15+
//정답 3 - prove-ability
16+
function solution(seoul) {
17+
return `김서방은 ${seoul.findIndex(v => v === "Kim")}에 있다`;
18+
}

0 commit comments

Comments
(0)

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