영화감독 숌
import sys
def main():
input = sys.stdin.readline
n = int(input())
print(solve(n))
def solve(n: int) -> int:
number = 0
for _ in range(n):
while True:
number += 1
if is_end_number(number):
break
return number
def is_end_number(n: int) -> bool:
return "666" in str(n)
main()
$N \le 10\,000$인데, $10\,000$번째 종말의 수는 크게 잡아도 $10\,000\,666$을 넘을 수 없습니다.
또한 종말의 수인지 판별하는 함수 is_end_number
는 상수 시간에 동작하므로, 브루트 포스를 이용하여 0부터 $N$번째 종말의 수까지 모든 수를 검사해 봐도 시간제한 내에 해결할 수 있습니다.
댓글