[Python] 백준 1436

eun·2024년 1월 17일

문제 1436

먼저 문제를 이해해보자.

  • 첫째 줄에는 자연수 n(n은 10,000보다 작거나 같은 자연수)가 주어진다.
  • 숫자 '666'이 들어가는 수 중 n번째로 작은 자연수를 출력하는 문제이다.
# 1436

n = int(input())

start = 666
cnt = 1

while cnt < n:
    start += 1
    if '666' in str(start):
        cnt += 1

print(start)

처음에는 '666'이 포함된 숫자의 규칙을 찾아보려 하였다. 하지만 너무나도 불규칙했기 때문에 찾기 어려웠다.
이후 start 숫자를 666으로 하여 숫자를 1씩 증가시키며 해당 숫자에 '666'이 포함된다면 해당 숫자의 번호를 증가시켰고, n번째로 작은 자연수를 출력할 수 있었다.

0개의 댓글