🧫 문제 분석
✔️ 출처
📖 문제

완전탐색 문제로
6이 3개 이상 연속되어 들어가는 수를 말한다고 한다.
즉 여러 수 중에 "666"이 포함되어 있으면 그 수는 종말의 수 라는 것이다.
문제의 이해를 잘 못했는데
결국에는 사전 순서? 크기 순서대로 번호가 주어진다.
5666 -> 6660 -> 6661 -> ~ 6669 -> 7666 ... 이런식으로 가는 것이다.
나는 단순히 666부터 시작해서 intMax까지 완전탐색을 했다.
현재 수를 문자열로 바꾸고 contains로 666이 포함되어있으면 count 하고
count가 N과 같다면 count에 그 수를 저장하고 탐색을 종료한 뒤 count를 반환한다
🔅 문제 풀이
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
int count = 0;
for (int i = 666; i < Integer.MAX_VALUE; i++) {
if (String.valueOf(i).contains("666")) {
count++;
if (count == n) {
count = i;
break;
}
}
}
bw.write(count + "");
bw.flush();
bw.close();
}
}
❗ 오답노트 / 필요한 지식
- StringBuilder를 처음에는 썼는데 넣고 문자열로 만들고 삭제하고 이래서 연산이 많이 들어가서 시간이 100ms정도 차이났다. 때로는 단순하게 하는게 더 빠를 수 있다.
'baekjoon > Brute_Force' 카테고리의 다른 글
백준 9663번 : N-Queen [자바] (0) | 2025.04.16 |
---|---|
백준 15663번 : N과 M (9) [자바] (0) | 2025.03.28 |
백준 1027번 : 고층건물 자바 (2) | 2024.07.22 |
백준 1038번 : 감소하는 수 자바 (0) | 2024.07.18 |
백준 1065 자바 : 한수 (0) | 2023.11.09 |