728x90
반응형
목차
문제
https://school.programmers.co.kr/learn/courses/30/lessons/92335
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
코드 구현 방향
전에 모든 약수를 구할때 i*i까지 순회하여 루트 시간복잡도로 시간을 단축한 기억이 있어서 쉽게 풀었다.
조건을 쉽게 이해해 보면 문자열을 0을 기준으로 쪼개서 모든 수를 탐색해 보라는 것이었다.
코드 구현
function solution(n, k) {
var answer = 0;
let str = convert(n, k);
let arr = str.split("0").map(Number);
arr.forEach((item)=>{
if(judge(item))answer++;
})
return answer;
}
function judge(num){
if(num === 1 || num===0)return false;
if(num === 2 || num === 3 || num === 5 || num === 7) return true;
for(let i=2; i*i<=num; i++){
if(num % i === 0)
return false;
}
return true;
}
function convert(num, dv){
let arr = [];
let str ="";
while(num >0){
arr.push(num%dv);
num = Math.floor(num/dv);
}
arr.reverse().forEach((item)=>str+=item);
return str;
}반응형
'PS > 프로그래머스' 카테고리의 다른 글
| [프로그래머스][그리디] 디펜스 게임 (0) | 2025.10.10 |
|---|---|
| [프로그래머스][bfs] 거리두기 확인하기 (0) | 2025.10.07 |
| [프로그래머스][구현] 행렬 테두리 회전하기 (0) | 2025.10.01 |
| [이진 탐색][프로그래머스] 순위 검색 (0) | 2025.09.25 |
| [프로그래머스][union find] 셀 병합 (0) | 2025.09.19 |