Lumpy Space Princess - Adventure Time
코딩테스트/백준

백준[1436] - 영화감독 숌

yaebb_82 2023. 2. 14.

 

 

문제

 

1436번: 영화감독 숌

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

www.acmicpc.net

 

 

 

아이디어

- 종말의 수 = 666을 연속으로 갖는 수

   ex) 666, 1666, 2666, 3666, 4666, 5666, 6660, 6661, 6662, 6663, ...

 

- 별다른 방법 없이, 1부터 '666'이 있는지/없는지 비교해야 한다.

 

 

 

작성한 코드

N = int(input())
count = 0
num = 1

while True:
    if '666' in str(num):
        count += 1

    if count == N:
        print(num)
        break
        
    num += 1

 

- N은 몇 번째(로 작은 종말의 수인지?)에 대한 정보를 담고 있는 변수로, input()으로 입력받고 Int형으로 형변환 한다.

- 1부터 비교하면서 종말의 수가 나올 때 1씩 증가시켜줄 count 변수를 선언한다.

- 1부터 비교하기 위해 num을 선언한다.

- while True: 로 무한반복을 돌린다.

   - 만약 '666'이 문자열로 변환한 num에 존재하는지 in을 확인해서 체크한다. → 있다면 count를 1씩 증가시킨다.

   - 만약 입력했던 N의 값과, count의 값이 일치한다면,

      그때 해당 값에 해당하는 종말의 수인 num을 print()로 출력하고, break문으로 while문을 벗어난다.

   - 위와 같은 조건이 아닐 경우에는, 그냥 num의 값을 1씩 증가시키면서 다시 검사한다.

 

 

 

반응형

댓글