백준 1436번 www.acmicpc.net/problem/1436

 

 

 

풀이

 

영화감독 숌의 문제는 길지만 바로 666 이 들어간 숫자를 순서대로 찾을 수 있는지를 알아보는 문제이다. 즉, 2 가 입력된 경우, 666 다음 1666 이 정답이 된다.

따라서 숫자가 증가할 때마다 666 이 나타나면 count 를 해주면 된다. 666 이 있는지 체크하기 위해서 . contains()라는 내장 메소드를 사용했다. 정규표현식보다 간단하게 할 수 있었던 것 같다. 그리고 여기서 주의할 점은 cnt 가 1 일 때에는 666 이 나올 수 있도록 조건식을 걸었다. 설정하지 않아 틀렸었는데 기본 값이 나올 수 있도록 하는 것이 기본이지만 중요한 부분인 것 같다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.*;
 
public class Main {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int cnt = sc.nextInt();
        sc.nextLine();
        int number=666, count=1;
 
        if(cnt==1System.out.println(number);
        else {
            do {
                number++;
                if(String.valueOf(number).contains("666")) {
                    count++;                    
                }
            } while (!(cnt==count));
            System.out.println(number);
        }
    }
 
}
cs
댓글