- 코드
정답 코드 : boolean 배열에 초기 false로 채워두고 지나간 값은 true로 변환해준다. true일시 건너띄고 false일 시 true로 바꿔주면서 count++해준다. count가 K랑 같아질 시 출력하고 종료.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int K = Integer.parseInt(st.nextToken());
boolean[] check = new boolean[N+1];
int count = 0;
Arrays.fill(check, Boolean.FALSE);
for(int i = 2; i <= N; i++) {
for(int j = i; j <= N; j += i) {
if(check[j])
continue;
check[j] = true;
count ++;
if(count == K) {
System.out.println(j);
System.exit(0);
}
}
}
}
}
'algorithm' 카테고리의 다른 글
[JAVA] 백준 1644번 : 소수의 연속합 (0) | 2020.08.26 |
---|---|
[JAVA] 백준 2671번 : 잠수함식별 (0) | 2020.08.25 |
[JAVA] 백준 1016번 : 제곱 ㄴㄴ 수 (0) | 2020.08.25 |
[JAVA] 백준 2749번 : 피보나치 수 3 (0) | 2020.08.25 |
[JAVA] 백준 1629번 : 곱셈 (0) | 2020.08.24 |