백준 1435 - 영화감독 슘/파이썬
num = int(input())
a = []
for i in range(666, 10001):
if '666' in str(i):
a.append(i)
print(a[num-1])
첫번째 방법 (제출시 런타임 에러)
결과값은 나오지만 런타임 에러라는 채점 결과를 맞이하게된다.
최소한 for문을 10001 - 666 의 길이만큼 돌아야 기준이 되는 a 리스트가 완성되고, 그것을 바탕으로 인덱스를 매칭 시키는 방법인데, 조금더 효율적인 방법을 찾아야겠다!!!
그리하여 찾아낸 2번째 방법!!
num = int(input())
sixes = 666
count = 0
while True:
if '666' in str(sixes):
count += 1
if count == num:
print(sixes)
break
sixes += 1
위 방법과 다르게 , num가 작을수록 돌아야하는 while문의 길이가 줄어들게 되므로 최소시간이 현저히 줄수있다.
Author And Source
이 문제에 관하여(백준 1435 - 영화감독 슘/파이썬), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@code_angler/백준-1435-영화감독-슘파이썬저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)