본문 바로가기
알고리즘 문제 풀이/백준

[Swift] 백준 1436번 : 영화감독 숌

by TisTerry 2023. 3. 21.

https://www.acmicpc.net/problem/1436

 

1436번: 영화감독 숌

666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워

www.acmicpc.net


접근 방식

1666, 2666, 3666 ... 6666, 6667, 6668, 6669, 7666 ... 9666, 10666, 11666 ... 16666, 16667, 16668... 등으로 나타난다.

순서를 따져야하는 문제이지만 위의 순서대로 보면 증가하는 기준이 계속 바뀌어 패턴을 찾기 쉽지 않다.

이 때 브루트 포스 알고리즘을 사용하여 1부터 차례대로 검증하는 것이라고 추론할 수 있다.

 

검증법은 16660이라는 숫자를 예로 들어 설명하겠다.

16660이라는 수의 경우 뒤에서부터 세자리 씩 묶어서 660, 666, 166의 수를 확인했을 때 666이 있으므로 영화 제목으로 사용할 수 있다.


코드

let T = Int(readLine()!)!
var cnt = 0
var i = 0

while cnt != T{
    i += 1
    var j = i
    while j >= 666{
        if (j % 1000) == 666{
            cnt += 1
            break
        }
        else{
            j /= 10
        }
    }
}
print(i)