728x90
본 알고리즘 풀이는 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;
}
}
728x90
반응형
'알고리즘 문제 풀이 > 완전탐색' 카테고리의 다른 글
백준 - 꽃길 (0) | 2021.12.31 |
---|---|
백준 - 팰린드롬 (0) | 2021.12.30 |
백준 - 체스판 다시 칠하기 (0) | 2021.12.25 |
백준 - 유레카 이론 (0) | 2021.12.22 |
백준 - 암호 만들기 (0) | 2021.12.12 |