티스토리 뷰
반응형
https://programmers.co.kr/learn/courses/30/lessons/92335
코딩테스트 연습 - k진수에서 소수 개수 구하기
문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소
programmers.co.kr
생각보다 오래걸렸던 문제..
자바에서는 소수를 구할때 i*i <= k 를 하면 시간초과가 나는구나.
Math.sqrt(k) 를 쓰는 버릇을 들이도록 하자!
import java.util.*;
class Solution {
public boolean checkPrime(long k) {
if(k==1) return false;
else if(k==2) return true;
int limit = (int) Math.sqrt(k);
for(int i=2; i<=limit; ++i) {
if(k % i == 0) {
return false;
}
}
return true;
}
public int solution(int n, int k) {
int answer = 0;
String temp[] = Integer.toString(n, k).split("0");
for (int i=0; i<temp.length; i++) {
if(temp[i].length() > 0 && checkPrime(Long.parseLong(temp[i]))) answer++;
}
return answer;
}
}
반응형
'알고리즘' 카테고리의 다른 글
| [프로그래머스] 경주로건설 (0) | 2022.04.23 |
|---|---|
| [프로그래머스] 추석트래픽 (1) | 2022.04.08 |
| 백준 7576 - 토마토 (1) | 2022.03.10 |
| [프로그래머스] N으로 표현 (1) | 2021.12.28 |
| [프로그래머스] 위클리 10주차 - 교점에 별 만들기 JAVA (1) | 2021.10.22 |