컴공생의 다이어리
[자바, Java] 백준 2023번 : 수들의 합 5 본문
백준 2023번 : 수들의 합 5
내 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class baekjoon_2023 {
private static int N;
private static StringBuilder sb = new StringBuilder();
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
N = Integer.parseInt(br.readLine());
recursive(0, 0);
System.out.print(sb.toString());
}
// 오른쪽에 숫자 하나씩 추가하며 N자리 신기한 소수 만들기
static void recursive(int depth, int prev) {
if (depth == N) { // N자리 신기한 소수 완성
sb.append(prev).append('\n'); // 출력할 결과에 소수 추가
return;
}
for (int i = 1; i <= 9; i++) {
int temp = prev * 10 + i; // 곱하기 10을 통해 한자리 증가 시키고 i 더해서 새로운 숫자 만들기
if (isPrime(temp)) recursive(depth + 1, temp);
}
}
// 소수인지 판별
static boolean isPrime(int num) {
if (num < 2) return false;
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) return false;
}
return true;
}
}
728x90
'Development > Algorithm & Coding Test' 카테고리의 다른 글
[파이썬, Python] 백준 16637번 : 괄호 추가하기 (0) | 2023.03.10 |
---|---|
[파이썬, Python] 백준 17779번 : 게리맨더링 2 (0) | 2023.02.15 |
[프로그래머스] 자동차 대여 기록 별 대여 금액 구하기 - MySQL (0) | 2023.01.25 |
[프로그래머스] 가격이 제일 비싼 식품의 정보 출력하기 - MySQL (0) | 2023.01.05 |
[프로그래머스] 5월 식품들의 총매출 조회하기 - MySQL (0) | 2022.12.10 |
Comments