프로그래머스 Level 2 - k진수에서 소수 개수 구하기
📌 문제 설명
![](https://velog.velcdn.com/images%2Ftnehd1998%2Fpost%2F2aadff4f-40d6-4813-9e4d-3006d8c6eec6%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202022-03-04%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%209.09.32.png)
![](https://velog.velcdn.com/images%2Ftnehd1998%2Fpost%2Fc402a9d1-7afb-463b-bd40-6eea93bb38e3%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202022-03-04%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%209.09.49.png)
📌 생각한 풀이 방법
- n을 k진수로 변환한다.
- 변환한 숫자를 0을 기준으로 나눠 배열에 저장한다.
- 해당 숫자가 소수면 answer++한다.
📌 풀이
function isPrimeNumber(number) {
if (number <= 1) {
return false;
}
for (let i = 2; i <= Math.sqrt(number); i++) {
if (number % i === 0) {
return false;
}
}
return true;
}
function solution(n, k) {
let answer = 0;
let num = n.toString(k);
let numArr = num.split("0");
for (let i = 0; i < numArr.length; i++) {
if (isPrimeNumber(Number(numArr[i]))) {
answer++;
}
}
return answer;
}