반응형
프로그래머스 약수의 개수와 덧셈을 JavaScript로 풀어보겠다.
2022.08.17 - [Coding Test/Go] - [프로그래머스] 약수의 개수와 덧셈 Go Code
2022.08.17 - [Coding Test/C++] - [프로그래머스] 약수의 개수와 덧셈 C++ Code
2022.08.17 - [Coding Test/Python] - [프로그래머스] 약수의 개수와 덧셈 Python Code
다른 언어 풀이는 위 링크를 참고하면 좋을 것 같다.
문제
구현
for문으로 left부터 right까지 반복하며
약수의 개수가 홀수인 경우는 완전 제곱수이기 때문에
제곱수를 판별한 후
해당 숫자를 정답에서 빼거나 더한다.
코드
function solution(left, right) {
let answer = 0;
for (let i = left; i <= right; i++) {
if (Number.isInteger(Math.sqrt(i))) {
answer -= i;
} else {
answer += i;
}
}
return answer;
}
완전 제곱수를 판별한 방법은 위 코드와 같다.
루트를 취한 다음
isInteger로 정수인지 판별한 것이다.
자바스크립트가 아주 좋은 함수들을 많이 가지고 있다고 생각한다.
다른 풀이
이 문제는 이 풀이가 최적화되어 있어 다른 좋은 방법이 보이지 않는다.
이렇게 Go, JS, C++, Python으로
프로그래머스의 약수의 개수와 덧셈 문제를 풀어봤다.
반응형
'Coding Test > JavaScript' 카테고리의 다른 글
[프로그래머스] 2016년 JavaScript Code (0) | 2022.08.20 |
---|---|
[프로그래머스] 성격 유형 검사하기 JS Code (7) | 2022.08.19 |
[프로그래머스] K번째수 JavaScript Code (4) | 2022.08.16 |
[프로그래머스] 체육복 JavaScript Code (0) | 2022.08.10 |
[프로그래머스] 예산 JavaScript Code (0) | 2022.08.10 |
댓글