문제링크 🚩
https://school.programmers.co.kr/learn/courses/30/lessons/92335
📕 문제 접근 📕
- k 진수로 변환하기
- 진수의 길이만큼 돌면서 패턴에 맞는 형식을 찾아 해결하기
- => 즉 패턴에 맞는 소수를 찾는 문제
진수 구하는 2가지 방법
Integer.toString(n, k);
- N을 K 진수로 변환해줌
- 만약 K 진수를 10진수로 돌리고 싶다면 Integer.parseInt(n,k); 를 활용하면 된다.
코드로 직접 구현
public String to_Knum(int n, int k) {
String res = "";
while(n > 0) {
res = n % k + res;
n /= k;
}
return res;
}
💻 Code 💻
class Solution {
public int solution(int n, int k) {
int answer = 0;
//진수 전환
// 10 -> k 진수
//Integer.toStirng(n,k)
// k진수 -> 10진수
// Integer.parseInt(n,k)
//1. 현재 수를 k 진수로 변환하기
String nowNum = Integer.toString(n,k);
int i , j ;
for(i = 0; i < nowNum.length(); i = j) {
for(j = i + 1; j < nowNum.length() && nowNum.charAt(j) != '0'; j++);
if(isprime(Long.parseLong(nowNum.substring(i,j))))
answer++;
}
return answer;
}
public static boolean isprime(long n){
if(n <= 1) return false;
else if(n == 2) return true;
for(int i = 2; i <= Math.sqrt(n); i++)
if(n % i == 0)
return false;
return true;
}
}
'JAVA > Algo 풀이' 카테고리의 다른 글
[프로그래머스] 징검다리 건너기 - JAVA (0) | 2024.10.03 |
---|---|
[프로그래머스] 보석 쇼핑 - JAVA (2) | 2024.10.03 |
[프로그래머스] 2019 카카오 개발자 겨울 인턴십 - 튜플 , Java (1) | 2023.11.11 |
[프로그래머스] 2018 KAKAO BLIND RECRUITMENT[1차] 캐시 (0) | 2023.11.10 |
[프로그래머스] 키패드 누르기 - 2020 카카오 인턴쉽, 자바 (0) | 2023.11.09 |