728x90
https://school.programmers.co.kr/learn/courses/30/lessons/92335
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[나의 코드]
const solution=(n,k)=>{
let answer=0;
const kNum = n.toString(k)
const array=kNum.split("0").map((item)=>+item)
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(i=0;i<array.length;i++){
if(isPrime(array[i])){
answer++
}
}
return answer
}
쉽게 풀 수 있었던 문제! 소수인지를 판별하는 공식은 Math.sqrt()를 이용하지 않으면 테스트 케이스들 중 하나를 통과할 수 없기 때문에 가장 효율적인 Math.sqrt()를 이용하는 방법으로 수정해주었다. 10진수를 k 진수로 변경하는 방법과 같은 기초적인 내용이었다.
- 0P0처럼 소수 양쪽에 0이 있는 경우
- P0처럼 소수 오른쪽에만 0이 있고 왼쪽에는 아무것도 없는 경우
- 0P처럼 소수 왼쪽에만 0이 있고 오른쪽에는 아무것도 없는 경우
- P처럼 소수 양쪽에 아무것도 없는 경우
- 단, P는 각 자릿수에 0을 포함하지 않는 소수입니다.
- 예를 들어, 101은 P가 될 수 없습니다.
길게 써져 있었지만 결국에는 간단하게 자주 사용하는 split을 통해서 해결할 수 있는 부분이었다.
728x90
'알고리즘' 카테고리의 다른 글
그리디 문제 풀이 (1) (0) | 2023.04.23 |
---|---|
프로그래머스 > 코딩 테스트 연습 > 연습 문제 > 행렬의 곱셈 (0) | 2023.04.20 |
프로그래머스 > Summer/Winter Coding(~2018) > 스킬트리 (0) | 2023.04.18 |
프로그래머스 > 2018 KAKAO BLIND RECRUITMENT > [3차] 압축 (0) | 2023.04.17 |
프로그래머스 > 2018 KAKAO BLIND RECRUITMENT > [1차] 뉴스 클러스터링 (1) | 2023.04.17 |