프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
1. 문제
제한사항
- 1 ≤ n ≤ 1,000,000
- 3 ≤ k ≤ 10
입출력 예
n | k | result |
437674 | 3 | 3 |
110011 | 10 | 2 |
입출력 예 설명
입출력 예 #1
문제 예시와 같습니다.
입출력 예 #2
110011을 10진수로 바꾸면 110011입니다. 여기서 찾을 수 있는 조건에 맞는 소수는 11, 11 2개입니다. 이와 같이, 중복되는 소수를 발견하더라도 모두 따로 세어야 합니다.
2. 정답 풀이
풀이 전략
-
- toString 메서드의 radix를 사용해 n을 k진수로 변환
// 소수 판별 함수
const isPrime = (num) => {
// 약수의 대칭성 이용 Math.sqrt()메서드로 반복 횟수 절반
for (let i=2; i<=Math.sqrt(num); i++) {
if (num % i === 0) return false;
}
return true;
}
function solution(n, k) {
let answer = 0;
// 1은 소수가 아니기 때문에 필터링
const formated = n.toString(k).split('0').filter(val => +val > 1);
formated.forEach(val => {
answer += isPrime(+val) ? 1 : 0
})
return answer;
}
소수 판별 오랜만에 상기할 수 있는 문제여서 좋았다.
n진수 변환 문제가 생각보다 자주 나오는 것 같다. toString 메서드의 radix 사용해서 쉽게 풀자😄😄
[프로그래머스] 방문 길이 (LV2 - JavaScript)
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr1. 문제제한사항 dirs는 string형으로 주어지며, 'U', 'D', 'R', 'L' 이외에 문자
dev-hpk.tistory.com
[프로그래머스] [3차] n진수 게임 (LV2 - JavaScript)
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 문제 입력 형식입출력 예ntmpresult2421"0111"161621 "02468ACE11111111" 161622 "1357
dev-hpk.tistory.com
'코딩 테스트 > 프로그래머스(LV2)' 카테고리의 다른 글
[프로그래머스] 땅따먹기 (LV2 - JavaScript) (3) | 2024.12.04 |
---|---|
[프로그래머스] 뒤에 있는 큰 수 찾기 (LV2 - JavaScript) (3) | 2024.12.01 |
[프로그래머스] 방문 길이 (LV2 - JavaScript) (3) | 2024.11.29 |
[프로그래머스] [3차] n진수 게임 (LV2 - JavaScript) (2) | 2024.11.28 |
[프로그래머스] [3차] 압축 (LV2 - JavaScript) (1) | 2024.11.25 |