728x90
[Javascript] (프로그래머스 level 1) 약수의 개수와 덧셈
💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.
내 풀이
function solution(left, right) {
let answer = 0;
for (let i = left; i <= right; i++) {
if (getDividableNum(i) % 2 === 0) {
answer += i;
} else {
answer -= i;
}
}
return answer;
}
function getDividableNum(num) {
const arr = [];
for (let i = 1; i <= num; i++) {
if (num % i === 0) {
arr.push(i);
}
}
return arr.length;
}
다른 사람 풀이
function solution(left, right) {
var answer = 0;
for (let i = left; i <= right; i++) {
if (Number.isInteger(Math.sqrt(i))) {
answer -= i;
} else {
answer += i;
}
}
return answer;
}
배운 점, 느낀 점
- 로직은 같지만, 수학으로 함수 하나를 줄였네요…
- 제곱근이 정수면 약수가 홀수라는 걸 처음 알았네요. 대단합니다.
'Coding Test > JavaScript' 카테고리의 다른 글
코드카타 못 푼 문제 (재귀 함수) (최단 경로?) (0) | 2022.08.18 |
---|---|
[Javascript] (프로그래머스 level 2) 피보나치 수 (0) | 2022.08.15 |
[Javascript] (백준 11170) 0의 개수 (0) | 2022.07.09 |
[Javascript] (백준 1969) DNA (0) | 2022.07.09 |
[Javascript] (프로그래머스 level 1) 로또의 최고 순위와 최저 순위 (0) | 2022.07.06 |
[Javascript] (프로그래머스 level 2) 기능 개발 (0) | 2022.07.02 |
[Javascript] (프로그래머스 level 2) 숫자의 표현 (0) | 2022.07.02 |
[Javascript] (프로그래머스 level 2) 이진 변환 반복하기 (0) | 2022.07.01 |
댓글