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 10bba3e

Browse files
Merge pull request codeisneverodd#32 from codeisneverodd/chaerin-dev
[풀이 추가] 2022年04月15日 8문제 추가
2 parents 26ac17e + 163ec45 commit 10bba3e

8 files changed

+93
-4
lines changed

‎level-1/가운데-글자-가져오기.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,12 @@ function solution(s) {
2929
// 홀수인 경우 - 중간지점
3030
else answer = s[point];
3131
return answer;
32-
}
32+
}
33+
34+
// 정답 4 - chaerin-dev
35+
function solution(s) {
36+
return s.length % 2
37+
? s[parseInt(s.length / 2)]
38+
: s[s.length / 2 - 1] + s[s.length / 2];
39+
}
40+

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,12 @@ function solution(arr) {
1414
answer[answer.length - 1] !== arr[i] ? answer.push(arr[i]) : null
1515
}
1616
return answer;
17-
}
17+
}
18+
19+
//정답 3 - chaerin-dev
20+
function solution(arr) {
21+
// 콜백함수의 조건을 만족하는 '모든' 값을 배열로 반환하고,
22+
// 조건을 만족하는 값이 없으면 빈 배열을 반환하는 filter 메서드 활용
23+
// 첫 번째 요소의 경우 undefined와 비교
24+
return arr.filter((item, index) => item !== arr[index - 1]);
25+
}

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,13 @@ function solution(arr, divisor) {
1717
answer.length === 0 ? answer.push(-1) : null
1818
answer.sort((a, b) => a - b)
1919
return answer;
20+
}
21+
22+
//정답 3. chaerin-dev
23+
function solution(arr, divisor) {
24+
let answer = [];
25+
arr.forEach((e) => {
26+
if (e % divisor === 0) answer.push(e);
27+
});
28+
return answer.length ? answer.sort((a, b) => a - b) : [-1];
2029
}

‎level-1/문자열-내-p와-y의-개수.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,13 @@ function solution(s) {
1717

1818
return p == y ? true : false;
1919
}
20+
21+
//정답 3 - chaerin-dev
22+
function solution(s) {
23+
let pCount = s.split(/p/i).length - 1;
24+
let yCount = s.split(/y/i).length - 1;
25+
return pCount === yCount;
26+
}
27+
// 문자열에서 특정 문자의 개수를 구하려면 split을 사용하면 된다.
28+
// Ex. "ababb".split("a") 의 결과는 ["", "b", "bb"]
29+
// => 즉, "a"의 갯수는 3에서 1을 뺀 2

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,15 @@ function solution(strings, n) {
1010
return 0
1111
})
1212
return answer;
13-
}
13+
}
14+
15+
//정답 2 - chaerin-dev
16+
function solution(strings, n) {
17+
return strings.sort((a, b) => {
18+
// 인덱스 n번째 글자를 기준으로 오름차순 정렬
19+
if (a[n] > b[n]) return 1;
20+
else if (a[n] < b[n]) return -1;
21+
// 인덱스 n번째 글자가 같으면 사전순 정렬
22+
else return a > b ? 1 : -1;
23+
});
24+
}

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,15 @@ function solution(s) {
99
return 0
1010
}).join('')
1111
return answer;
12-
}
12+
}
13+
14+
//정답 2 - chaerin-dev
15+
function solution(s) {
16+
// 문자열 -> 배열 -> 정렬 -> 순서뒤집기 -> 문자열
17+
return s.split("").sort().reverse().join("");
18+
}
19+
20+
//정답3 - chaerin-dev
21+
function solution(s) {
22+
return s.split("").sort((a, b) => (a < b ? 1 : -1)).join("");
23+
}

‎level-1/문자열-다루기-기본.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,16 @@ function solution(s) {
3333

3434
return answer;
3535
}
36+
37+
//정답 4 - chaerin-dev
38+
function solution(s) {
39+
// 길이가 4 혹은 6이 아니면 false 반환
40+
if (s.length !== 4 && s.length !== 6) return false;
41+
// 각 자리중에 숫자가 아닌 것이 하나라도 있으면 false 반환
42+
for (let i = 0; i < s.length; i++) {
43+
if (isNaN(Number(s[i]))) return false;
44+
}
45+
// 위의 모든 조건에 포함되지 않으면
46+
// (길이가 4 혹은 6이고, 숫자로만 구성되어 있으면) true 반환
47+
return true;
48+
}

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

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,23 @@ function solution(n) {
1212
for (const isPrime of isPrimeArr) if (isPrime) answer += 1
1313
answer -= 2 //인덱스 0과 1 제외
1414
return answer;
15+
}
16+
17+
//정답 2 - chaerin-dev
18+
// 소수인지 판별하는 함수
19+
function isPrime(x) {
20+
for (let i = 2; i <= Math.sqrt(x); i++) {
21+
if (x % i === 0) return false;
22+
}
23+
return true;
24+
}
25+
function solution(n) {
26+
// 소수의 개수를 저장할 변수
27+
let answer = 0;
28+
// 1은 소수가 아니므로 2부터 n까지 모든 수에 대해
29+
for (let i = 2; i <= n; i++) {
30+
// 소수이면 소수의 개수에 1 추가
31+
if (isPrime(i)) answer++;
32+
}
33+
return answer;
1534
}

0 commit comments

Comments
(0)

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