문제
https://school.programmers.co.kr/learn/courses/30/lessons/120846
풀이
합성수가 되려면 약수가 3개 이상이어야 된다.
2,3,5,7 로 나누어떨어지거나 루트를 씌웠을때 정수가 나오면 약수를 3개 이상 가졌다고 볼 수 있다.
function solution(n) {
let answer = 0;
for (i = 4; i <= n; i++) {
if (i % 2 === 0) ++answer;
else if (i % 3 === 0) ++answer;
else if (i !== 5 && i % 5 === 0) ++answer;
else if (i !== 7 && i % 7 === 0) ++answer;
else if (Number.isInteger(Math.sqrt(i))) ++answer;
}
return answer;
}
'개발 > 알고리즘(코딩테스트)' 카테고리의 다른 글
프로그래머스, 자바스크립트) 간단한 논리 연산 (0) | 2024.01.15 |
---|---|
프로그래머스, 자바스크립트) 피자 나눠 먹기 (2) (0) | 2024.01.14 |
프로그래머스, 자바스크립트) 수열과 구간 쿼리 3 (0) | 2024.01.14 |
프로그래머스, 자바스크립트) 배열 회전시키기 (0) | 2024.01.14 |
프로그래머스, 자바스크립트) k의 개수 (0) | 2024.01.14 |