알고리즘/백준
[Python] 백준 파이썬 1436 영화감독 숌
dding96
2022. 9. 25. 08:52
https://www.acmicpc.net/problem/1436
1436번: 영화감독 숌
666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타
www.acmicpc.net
- 첫 시도
# 백준 1436 영화감독 숌
n = int(input())
title_list = []
i=666
while True:
if len(title_list) == n:
print(title_list[-1])
break
i_list = list(str(i))
six_cnt = 0
for j in range(len(i_list)-1):
if i_list[j] == '6' and i_list[j+1] == '6':
six_cnt += 1
if six_cnt >= 2:
title_list.append(i)
i+=1
break
i += 1
666부터 시작해서 숫자를 1씩 키워가며 확인했습니다.
확인할 때 숫자를 리스트로 바꿔서 각 자릿수를 비교하며 6이 연속 3번이 되는 숫자를 리스트에 추가하고 마지막에 출력하는 방식입니다.
이렇게 풀면 답이 틀렸다고 나옵니다... 아마 중간에 조건을 빼먹은 게 있는 것 같은데 어디서부터 잘못됐는지 찾기가 힘들어서 새로 작성하기로 했습니다.
그래서 그냥 666이 포함되어있는지만 판단하자! 해서 코드를 좀 바꿨습니다.
n = int(input())
num = 666
cnt = 0
while True:
if '666' in str(num):
cnt += 1
if cnt == n:
print(num)
break
num += 1
666부터 1씩 수를 키워가면서 확인하는 건 똑같지만 숫자를 자릿수 하나하나 쪼개서 확인하는 게 아니라 그냥 전부 문자열로 바꿔주고 '666'을 포함하는지만 확인했습니다.
이렇게 쉬운 문제였는데 쓸데없이 어렵게 풀려고 했네요 ㅎㅎ