[PYTHON/파이썬] 1436 영화 감독 숌 - 완전탐색

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

     

    1436번: 영화감독 숌

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

    www.acmicpc.net

    문제 풀이

    • '666'이 포함되는 숫자를 666부터 1씩 증가하면서 완전탐색한다.

    soltuion2. - 최종코드

    import sys
    n = int(sys.stdin.readline().strip())
    
    target_number = 666
    
    while n:
        if '666' in str(target_number):
            n -= 1
        target_number += 1
    print(target_number-1)

    solution1. - 실패

    문제 풀이

    • 666 앞에 1씩 증가하는 수를 붙인다.
    • 666 뒤에 1씩 증가하는 수를 붙인다.
    • 두 수를 비교하여 더 작은 값이 result로 값을 갱신한다.

    실패 이유

    • n = 26일때 15666
    • n = 27일때 16660이 나와야되는데 출력값이 17666으로 나옴
    • f_count가 16일될때 일의 자리 6도 연속된 6문자에 포함되지 않음.
    import sys
    n = int(sys.stdin.readline().strip())
    count = 0
    f_count = 0
    b_count = 0
    while True:
        result = 666
        if '666' in str(result):
          f_six = int(str(f_count)+str(result))
          b_six = int(str(result)+str(b_count))
          if f_six >= b_six:
              result = b_six
              b_count += 1
          else:
              result = f_six
              f_count += 1
    
        if n-1 == count:
            print(result)
            break
        count += 1

    댓글