[프로그래머스] k진수에서 소수 개수 구하기(Java)

수경·2023년 2월 19일
0

problem solving

목록 보기
118/174

프로그래머스 - k진수에서 소수 개수 구하기

풀이

  • 진법 변환한 문자열을 0을 기준으로 나눠서 배열로 저장
    • Integer.toString(n, radix) : n을 radix진수로 바꿔주는 메소드
  • 배열을 순회하면서 해당 숫자가 소수인지 확인

❗️진법 변환 시 숫자의 길이가 길어질 수 있으므로 double로 처리해줘야 함


코드

class Solution {
    public int solution(int n, int k) {
		String[] nums = Integer.toString(n, k).split("0");
		int count = 0;

		for (String num : nums) {
			if (!num.equals("") && isPrime(Double.parseDouble(num))) count++;
		}

		return count;
	}

	private boolean isPrime(double n) {
		if (n == 2) return true;
		else if (n <= 1 || n % 2 == 0) return false;

		for (int i = 3; i <= n / i; i++) {
			if (n % i == 0) return false;
		}
		return true;
	}
}
profile
어쩌다보니 tmi뿐인 블로그😎

1개의 댓글

comment-user-thumbnail
2023년 3월 13일

혹시 최신 알고리즘은 언제...

답글 달기