문제
풀이
- 해당 문제를 풀어본 결과 패턴 파악만 끝나면 엄청 쉽게 풀 수 있는 문제였다.
- 자바스크립트의 경우 toString() 함수로 쉽게 n을 k진수로 변경할 수 있다.
- 변경 후 '0'을 기준으로 문자열을 스플릿해준다. 이 때 빈문자열은 제거해준다.
- 스플릿한 문자열을 순회하며 소수를 찾아서 발견하면 answer += 1을 해준다.
소스 코드
function solution(n, k) {
let answer = 0;
const arr = n.toString(k).split('0').filter(el => el !== '');
const isPrime = (num) => {
if (num === 1) return false;
for (let i = 2; i <= Math.sqrt(num); i++) {
if (num % i === 0) return false;
}
return true;
}
for (const num of arr) {
if (isPrime(+num)) answer += 1;
}
return answer;
}
'알고리즘 연습' 카테고리의 다른 글
[알고리즘 연습] 프로그래머스 순위 검색 (LEVEL 2, 자바스크립트) (1) | 2024.02.07 |
---|---|
[알고리즘 연습] 프로그래머스 거리두기 확인하기 (LEVEL 2, 자바스크립트) (1) | 2024.02.06 |
[알고리즘 연습] 프로그래머스 주차 요금 계산 (LEVEL 2, 자바스크립트) (0) | 2024.02.05 |
[알고리즘 연습] 프로그래머스 양궁대회 (LEVEL 2, 자바스크립트) (1) | 2024.02.05 |
[알고리즘 연습] 프로그래머스 두 큐 합 같게 만들기 (LEVEL 2, 자바스크립트) (1) | 2024.01.05 |