https://www.acmicpc.net/problem/24039
24039번: 2021은 무엇이 특별할까?
백준 온라인 저지의 송년대회 Good Bye BOJ, 2021!의 개최일은 2021년 12월 31일이다. 원이는 대회가 개최된다는 사실이 기뻐 제목을 뚫어져라 보다가 2021이 무언가 특별하다는 사실을 깨달았다. 그렇
www.acmicpc.net
해석 및 팁
이 문제는 먼저 에라토스테네스의 채를 이용해서 소수를 판별한 후 ArrayList에 저장해 줍니다. 그다음 리스트의 값 중 앞의 값과 뒤의 값을 곱한 수가 n을 넘으면 break한뒤 출력해 주면 됩니다.
Java 코드
import java.util.Scanner;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
ArrayList<Integer> list = new ArrayList<>();
boolean[] arr = new boolean[10001];
int n = sc.nextInt();
arr[0] = true;
arr[1] = true;
for(int i = 2; i * i <= 10000; i++) {
if(arr[i] == true) continue;
for(int j = i * i; j <= 10000; j += i) arr[j] = true;
}
for(int i = 2; i <= 10000; i++) {
if(arr[i] == false) list.add(i);
}
for(int i = 1; i < list.size(); i++) {
int num = list.get(i - 1) * list.get(i);
if(num > n) {
sb.append(num);
break;
}
}
System.out.println(sb);
}
}
'백준' 카테고리의 다른 글
백준 13335 트럭(Java) (1) | 2023.02.24 |
---|---|
백준 12871 무한 문자열(Java) (0) | 2023.02.23 |
백준 2531, 15961 회전초밥(Java) (0) | 2023.02.23 |
백준 3135 라디오(Java) (0) | 2023.02.23 |
백준 14912 숫자 빈도수(Java) (0) | 2023.02.23 |