백준 문제풀이/구현
[백준] 1436 영화감독 숌 - python
peach_h
2023. 4. 5. 19:19
https://www.acmicpc.net/problem/1436
1436번: 영화감독 숌
666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워
www.acmicpc.net
처음에 그냥 입력받은 N-1 + '666'만 붙이면 되는 줄 알고,
뭐야 이거 쉽네? 했으나
N = 187 을 보고, 쟤 왜 저러지.
잘못 이해했음을 깨달았다 !!
무조건 N + 666 이게 아니고 . .
6660 6661 6662 6663 6664 이런게 잔뜩 존재한다는 점,
심지어 N은 최대 만까지도 간다는 점 . .
내가 한 생각 :
처음엔 그냥 숫자 다돌려서 리스트를 만들고, 거기서 666이 들어간 것을 골라낼까 생각했다.
근데 입력 N이 10000이하인거지 . . 영화 번호가 10000까지 인게 아니여서
도대체 숫자 어디까지 리스트를 만들어야할지 감이 안오고
100퍼 시간초과를 예상했다.
그럼 . . 어떻게 하냐 ! 완탐 돌리면 안되겠는데 !
결국은 완탐으로 푼 것 같긴한데 ~
내가 생각한 먼저 숫자 다 만들어놓기 X
만들면서 찾으면 멈추기 O
N = int(input())
cnt = 0
start = 666
while True:
# start를 문자열로 바꾼 것에 666이 있으면 cnt 증가
if '666' in str(start):
cnt += 1
# N번째를 찾았으면 멈추기
if cnt == N:
print(start)
break
# N번쨰를 찾지못했으면 start 1씩 증가
start += 1
근데 어떻게 시간초과 안난지 아직 잘 모르겠다.
생각보다 시간이 얼마 안걸리나 ?
스터디 친구들에게 물어보고 글에 다시 써놔야겠다 !