프로그래머스 LEVEL 2(k진수에서 소수 개수 구하기)
-
사용 언어 : javascript
-
해결 날짜 : 2022-10-04
- 해결 방법 :
- n을 k진수로 변환 후 0을 기준으로 split(), 빈 값 filter(), integer형으로 변환
- 소수 후보자 배열을 돌며 소수 판별
- 회고 :
- 소수 판별 시 제곱근 이용 (시간 복잡도: O(√N))
-
코드
const isPrimeNumber = (n) => { if(n === 1) return false; for (let i = 2; i <= Math.floor(Math.sqrt(n)); i++){ if (n % i === 0) return false; } return true; } function solution(n, k) { let answer = 0; const candidates = n.toString(k).split(0).filter((e) => e).map((e) => parseInt(e)); for (const candidate of candidates) { if (isPrimeNumber(candidate)) answer++; } return answer; }
- 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges