λ¬Έμ
https://www.acmicpc.net/problem/2023
λ΄ λ¬Έμ νμ΄
import java.util.ArrayDeque;
import java.util.Arrays;
import java.util.Deque;
import java.util.Scanner;
public class BOJ_2023 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
Deque<Integer> que = new ArrayDeque<>(Arrays.asList(2, 3, 5, 7));
int[] secondNums = {1, 3, 7, 9};
boolean isFirst = true;
int[] toPlus = new int[n];
toPlus[0] = 1;
for(int i = 1; i < n; i++) toPlus[i] = toPlus[i-1] * 10;
int idx = 0;
mainLoop:
while(true) {
int num = que.removeFirst();
if(idx >= 4) {
for(int i = 2; i <= Math.sqrt(num); i++) {
if(num % i == 0) continue mainLoop;
}
}
for(int i: secondNums) {
String tmp = Integer.toString(num);
if(tmp.length() == n) {
que.addFirst(num);
break mainLoop;
}
que.add(i + (num * 10)); // μλ¦Ώμ λλ €μ£Όλ©° μ λνκΈ°
}
if(idx <= 4) idx++;
}
printLoop:
while(que.size() > 0) {
int num = que.removeFirst();
for(int i = 2; i <= Math.sqrt(num); i++) {
if(num % i == 0) continue printLoop;
}
System.out.println(num);
}
}
}
π ꡬν λ¬Έμ !
μ΄ λ¬Έμ λ 무μλ³΄λ€ μμ νλ³κ³Ό 'μ κΈ°ν μμ'μ κ·μΉμ μ°Ύμλ΄λ κ²μ΄ μ€μν κ² κ°λ€.
[ 'μ κΈ°ν μμ'μ κ·μΉ ]
- μ κΈ°ν μμμ κ²½μ° μ²« λ²μ§Έ κΈμλ κΌ μμμ¬μΌλ§ νλ€.
-> 2, 3, 5, 7 λ€ μ«μλ§μ΄ 첫 λ²μ§Έ μ리μ μ¬ μ μλ€. - μ κΈ°ν μμμ λ λ²μ§Έ κΈμλΆν°λ κΌ νμμ΄λ©° 5κ° μλμ΄μΌ νλ€.
-> 1, 3, 7, 9 λ€ μ«μλ§μ΄ λ λ²μ§Έ μ΄μμ μ리μ μ¬ μ μλ€.
[ μμ νλ³λ² ]
μμλ 1κ³Ό μκΈ°μμ μΌλ‘λ§ λλμ΄ λ¨μ΄μ§λ μλ₯Ό λ§νλ€.
λ°λΌμ 2λΆν° μκΈ° μμ μ μ κΉμ§ λλμ΄ λ³Ό μ μκ² μ§λ§,
μκΈ° μμ κΉμ§ λΉκ΅ν΄λ³Ό νμ μμ΄, μ κ³±κ·ΌκΉμ§λ§ λλμ΄λ νμΈμ΄ κ°λ₯νλ€.
π‘ νΌλλ°±
- μμ νλ³λ²λ§ μ μκ³ μλ€λ©΄ μ½κ² ν μ μλ λ¬Έμ μλ€.
'2οΈβ£ Java > Problem Solving' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java Algorithm] λΆ BOJ #5427 (0) | 2022.08.08 |
---|---|
[Java Algorithm] μ¨λ°κΌμ§ 3 BOJ #13549 (0) | 2022.08.08 |
[Java Algorithm] λ²½ λΆμκ³ μ΄λνκΈ° BOJ #2206 (0) | 2022.08.08 |
[Java Algorithm] ν BOJ #2493 (0) | 2022.08.05 |
[Java Algorithm] ν±λλ°ν΄ BOJ #14891 (0) | 2022.08.03 |
λκΈ