에라토스테네스의 체
import java.util.*;
class Solution {
public int solution(int n, int k) {
int answer = 0;
StringBuilder sb = new StringBuilder();
int num = n;
while(num > 0) {
sb.append(num % k);
num /= k;
}
String s = String.valueOf(sb.reverse());
int j = 0;
for (int i = 0; i < s.length() - 1; i = j) {
for (j = i + 1; j < s.length() && s.charAt(j) != '0'; j++) {
continue;
}
if (isPrime(Long.parseLong(s.substring(i, j))))
answer++;
}
return answer;
}
public boolean isPrime(long n) {
if(n <= 1) return false;
for(int i = 2; i <= Math.sqrt(n); i++) {
if(n % i == 0) return false;
}
return true;
}
}
import java.util.*;
class Solution {
public int solution(int n, int k) {
int answer = 0;
StringBuilder sb = new StringBuilder();
int num = n;
while(num > 0) {
sb.append(num % k);
num /= k;
}
String s = String.valueOf(sb.reverse());
String[] arr = s.split("0");
for(String str : arr) {
if(str.equals("")) continue;
if(isPrime(Long.parseLong(str))) answer++;
}
return answer;
}
public boolean isPrime(long n) {
if(n <= 1) return false;
for(int i = 2; i <= Math.sqrt(n); i++) {
if(n % i == 0) return false;
}
return true;
}
}
- split()
String str = "abcdef@gaaadfwef@@fadsafgh";
String[] strAry = str.split("@");
System.out.println(strAry.length);
for(String s : strAry) {
System.out.println(s);
}
// 출력
/*
4
abcdef
gaaadfwef
fadsafgh
*/
//빈칸 생김?
'알고리즘 > 그 외' 카테고리의 다른 글
[플로이드 와샬] 프로그래머스 - 배달 (자바) (0) | 2023.02.06 |
---|---|
코딩테스트를 위한 자바 (0) | 2022.12.19 |