250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(프로그래머스 KAKAO JS)k진수에서 소수 개수 구하기 본문
728x90
반응형
https://programmers.co.kr/learn/courses/30/lessons/92335#
코딩테스트 연습 - k진수에서 소수 개수 구하기
문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소
programmers.co.kr
주어진 n을 k로 나눠 나머지 값을 transformed 배열에 저장한다.
해당 배열을 reverse() 함수로 뒤집은 다음, join("")을 통해 한 문자열로 통합하고, 다시 split("0") 함수로 0을 구분자로 하여 결과를 만든다.
이 결과를 forEach문을 통해 curr이 공백이 아니고, isPrime 함수를 통해 소수인지 판별한 후 answer를 카운팅하면 된다.
const solution = (n, k) => {
let answer = 0;
const transformed = [];
const isPrime = (n) => {
if(n <= 1){
return false;
}
for(let i = 2; i <= Math.sqrt(n); i++){
if(n % i === 0){
return false;
}
}
return true;
}
while(n){
transformed.push(n % k);
n = Math.floor(n / k);
}
transformed.reverse().join("").split("0").forEach((curr) => {
if(curr && isPrime(curr)){
answer++;
}
});
return answer;
}
728x90
반응형
'프로그래머스 알고리즘 > KAKAO' 카테고리의 다른 글
(프로그래머스 KAKAO JS)양궁대회 (0) | 2022.02.14 |
---|---|
(프로그래머스 KAKAO JS)주차 요금 계산 (0) | 2022.02.06 |
(프로그래머스 KAKAO JS) 신고 결과 받기 (0) | 2022.02.05 |
(프로그래머스 KAKAO JS)양과 늑대 (0) | 2022.02.05 |
(프로그래머스 JS)불량 사용자 (0) | 2021.12.07 |