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 2de642d

Browse files
Merge branch 'main' into level0
2 parents db2925a + 6b24880 commit 2de642d

13 files changed

+1421
-263
lines changed

‎README.md

Lines changed: 47 additions & 49 deletions
Large diffs are not rendered by default.

‎api.json

Lines changed: 1026 additions & 1 deletion
Large diffs are not rendered by default.

‎level-1/숫자-짝꿍&131128&.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
//https://github.com/codeisneverodd/programmers-coding-test
2+
//더 좋은 풀이가 존재할 수 있습니다.
3+
//정답 1 - ssi02014
4+
5+
/**
6+
* X, Y의 길이가 굉장히 길어서 공통 숫자를 뽑아낼 때 객체를 이용해 연산 횟수 최적화
7+
* X, Y를 배열로 변환 후에 배열 메서드를 사용해도 되지만, for of문보다 효율성 떨어짐
8+
* (테스트 케이스 11 ~ 15 100ms~200ms 차이)
9+
*/
10+
function solution(X, Y) {
11+
const commons = [];
12+
const obj = {};
13+
14+
for (const el of X) {
15+
obj[el] = (obj[el] || 0) + 1;
16+
}
17+
18+
for (const el of Y) {
19+
if (obj[el]) {
20+
commons.push(el);
21+
obj[el]--;
22+
}
23+
}
24+
25+
commons.sort((a, b) => b - a);
26+
27+
if (!commons.length) return "-1";
28+
else if (commons[0] === "0") return "0";
29+
return commons.join("");
30+
}

‎level-2/JadenCase-문자열-만들기&12951&.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,14 @@ function solution(s) {
3535
}
3636
return answer.join(" ");
3737
}
38+
39+
//정답 4 - RyanDeclan
40+
41+
function solution(s) {
42+
return s.toLowerCase().split(" ").map(x=>x[0] ? x[0].toUpperCase() + x.substring(1) : "").join(" ");
43+
}
44+
45+
// 이 문제에서 제일 핵심은 "공백문자가 연속해서 나올 수 있습니다." 입니다. 이 부분을 꼭 고려하셔야합니다.
46+
// 왜냐하면 공백이 연속으로 있으면 split할때 공백이 포함되기에 그 공백이 마침 x[0]이 되어버리면 undefined.toUpperCase()가 되기에 런타임에러가 뜹니다.
47+
// 따라서 저는 풀때 당시 몰랐지만 chartAt()을 사용하는 것도 좋은 방법중 하나라고 생각합니다.
48+
//그게 아니라 이 코드로 한다면 꼭 undefined인 경우를 처리하는 코드를 추가해줘야합니다.

‎level-2/다음-큰-숫자&12911&.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,10 @@ function solution(n) {
4141
const value = i.toString(2).match(/1/g).length;
4242
if(n === value) return i;
4343
}
44-
}
44+
}
45+
46+
//정답 4 = ryan-dia
47+
function solution(n) {
48+
const count = (num) => num.toString(2).match(/1/g).length;
49+
for(i=(n+1); i< 1_000_000; i++) if(count(n) == count(i)) return i
50+
}

‎level-2/이진-변환-반복하기&70129&.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,15 @@ function solution(s) {
1818

1919
return convertToBinary(s, 0, 0);
2020
}
21+
22+
// 정답 2 - RyanDeclan
23+
function solution(s) {
24+
let box = [0,0]
25+
while(s.length > 1){
26+
let reamain = s.replace(/0/g,"").length
27+
box[0] += 1
28+
box[1] += (s.length - reamain)
29+
s = reamain.toString(2)
30+
}
31+
return box;
32+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
//https://github.com/codeisneverodd/programmers-coding-test
2+
//완벽한 정답이 아닙니다.
3+
//정답 1 - cg10036
4+
function solution(n) {
5+
const fact = n => n ? BigInt(n) * fact(n - 1) : 1n;
6+
return fact(n * 2) / (fact(n) * fact(n + 1));
7+
}

‎package-lock.json

Lines changed: 152 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
},
1919
"homepage": "https://github.com/codeisneverodd/programmers-coding-test#readme",
2020
"dependencies": {
21+
"axios": "^1.1.2",
2122
"cheerio": "^1.0.0-rc.10",
2223
"node-fetch": "^3.2.3",
2324
"prettier": "^2.7.1"

‎utils/api.js

Lines changed: 0 additions & 48 deletions
This file was deleted.

0 commit comments

Comments
(0)

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