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

Browse files
Merge pull request #41 from prove-ability/main
[정기적 풀이 추가] 2022年04月26日
2 parents 4c1d924 + ff21647 commit 2b46d5d

File tree

5 files changed

+69
-1
lines changed

5 files changed

+69
-1
lines changed

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,13 @@ function solution(s) {
2424
// 문자열에서 특정 문자의 개수를 구하려면 split을 사용하면 된다.
2525
// Ex. "ababb".split("a") 의 결과는 ["", "b", "bb"]
2626
// => 즉, "a"의 갯수는 3에서 1을 뺀 2
27+
28+
// 정답 4 - prove-ability
29+
function solution(s){
30+
// 배열로 변환
31+
s = s.split("");
32+
// filter 를 사용해 갯수 추출
33+
const pCount = s.filter((v) => v === "p" || v === "P").length;
34+
const yCount = s.filter((v) => v === "y" || v === "Y").length;
35+
return pCount === yCount;
36+
}

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,25 @@ function solution(n) {
5656
if (isPrime(i)) answer++;
5757
}
5858
return answer;
59+
}
60+
61+
//정답 3 - prove-ability
62+
// 소수 판별 로직
63+
function isPrime(n) {
64+
// n 제곱근 후 올림
65+
for (let i = 2, len = Math.ceil(Math.sqrt(n)); i <= len; i++) {
66+
if (n % i === 0) return false;
67+
}
68+
return true;
69+
}
70+
71+
function solution(n) {
72+
let count = 0;
73+
// 1부터 n까지 반복적으로 접근 - i
74+
for(let i = 1; i <= n; i++) {
75+
// i 가 소수인지 확인 후 count++
76+
if(isPrime(i)) count++;
77+
}
78+
79+
return count;
5980
}

‎level-1/약수의-개수와-덧셈.js‎

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,21 @@ function solution(left, right) {
4040
return answer;
4141
}
4242

43-
//
43+
// 정답 4 - prove-bility
44+
function getDivisorCount(i) {
45+
let count = 0;
46+
for(let j = 1; j <= i; j++) {
47+
if(i % j === 0) count++;
48+
}
49+
return count;
50+
}
51+
52+
function solution(left, right) {
53+
let answer = 0;
54+
for(let i = left; i <= right; i++) {
55+
let count = getDivisorCount(i);
56+
if(count % 2 === 0) answer += i;
57+
else answer -= i;
58+
}
59+
return answer;
60+
}

‎level-1/음양-더하기.js‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,13 @@ function solution(absolutes, signs) {
4242

4343
return answer;
4444
}
45+
46+
// 정답 5 - prove-ability
47+
function solution(absolutes, signs) {
48+
let answer = 0;
49+
absolutes.forEach((absolute, i) => {
50+
if(!signs[i]) absolute *= -1;
51+
answer += absolute;
52+
})
53+
return answer;
54+
}

‎level-1/정수-제곱근-판별.js‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,13 @@ function solution(n) {
1212
// x가 정수이면 x+1의 제곱 반환, x가 정수가 아니면 -1 반환
1313
return Number.isInteger(x) ? Math.pow(x + 1, 2) : -1;
1414
}
15+
16+
//정답 3 - prove-ability
17+
function solution(n) {
18+
// n의 제곱근을 x 초기화
19+
const x = Math.sqrt(n);
20+
// 양의 정수라면 x + 1 제곱 반환
21+
if(Number.isInteger(x)) return Math.pow(x + 1, 2)
22+
// 아니라면 -1 반환
23+
return -1;
24+
}

0 commit comments

Comments
(0)

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