https://www.acmicpc.net/problem/1436
- 첫 시도
# 백준 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'을 포함하는지만 확인했습니다.
이렇게 쉬운 문제였는데 쓸데없이 어렵게 풀려고 했네요 ㅎㅎ
'알고리즘 > 백준' 카테고리의 다른 글
[Python] 백준 파이썬 14425 문자열 집합 (0) | 2022.09.27 |
---|---|
[Python] 백준 파이썬 10815 숫자 카드 (1) | 2022.09.26 |
[Python] 백준 파이썬 1018 체스판 다시 칠하기 (1) | 2022.09.24 |
[Python] 백준 파이썬 7568 덩치 (1) | 2022.09.23 |
[Python] 백준 파이썬 2232 분해합 (0) | 2022.09.22 |