알고리즘 문제 풀이/완전탐색
백준 - 영화감독 숌
가나무마
2021. 12. 25. 02:55
본 알고리즘 풀이는 Routine Study에서 진행하고 있습니다.
저를 포함한 구성원이 대부분 초보이므로, 원하시는분은 언제라도 들어오셔도 좋습니다.
문의는 댓글 바람.
문제 출처 : https://www.acmicpc.net/problem/1436
[문제 설명]
n번째 종말의 숫자를 구하시오. (종말의 숫자는 연속되는 6이 3번 있는 숫자)
[접근 방법]
완전탐색이라 그냥 하나 하나 계산하는 방법으로 구현했다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class Main {
static int N;
public static void main(String[] args) throws IOException {
// 입력 받기
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
N = Integer.parseInt(br.readLine());
int number = 666;
while (0 < N) if (checkDoomsNumber(number++)) N--;
System.out.println(number-1);
}
private static boolean checkDoomsNumber(int number) {
int numOfSix = 0;
while (number > 0) {
if (number%10 == 6) {
numOfSix++;
if (numOfSix >= 3) return true;
} else {
numOfSix = 0;
}
number/=10;
}
return (numOfSix >= 3)? true : false;
}
}