728x90
2022 KAKAO BLIND RECRUITMENT
n을 k진수로 바꾼 후 0을 기준으로 수를 나누어서 해당 수가 소수인지 확인하고 소수의 개수를 출력하는 문제입니다.
입력받은 값을 k진수로 바꾼후 split함수를 사용해서 0으로 나누어 줍니다.
나눈 값을 다시 10진수로 변환하여 소수인지 확인하여서 소수이면 카운트해주었습니다.
모든 값들을 확인하고 카운트된 값을 결과값으로 주었습니다.
function solution(n, k) {
let answer = 0;
let s = "";
let arr;
n = n.toString(k);
arr = n.split("0");
for(let i=0; i<arr.length; ++i){
let chk = false;
if(arr[i] === ''){
continue;
}
let temp = parseInt(arr[i]);
if(temp === 1) {
continue;
}
if(temp % 2 === 0) {
if(temp != 2){
chk = true;
}
} else {
for(let i = 3; i <= Math.sqrt(temp); i += 2) {
if(temp % i === 0) {
chk = true;
}
}
}
if(!chk){
++answer;
}
}
return answer;
}
'알고리즘' 카테고리의 다른 글
[Java] SWEA - 창용 마을 무리의 개수 (0) | 2023.03.02 |
---|---|
[Java] SWEA - 서로소 집합 (0) | 2023.03.02 |
[JavaScript] 프로그래머스 - 주차 요금 계산 (0) | 2023.02.28 |
[JavaScript] 프로그래머스 - 양궁대회 (0) | 2023.02.27 |
[Java] 백준 2567번 색종이 - 2 (0) | 2023.02.27 |