출처 : https://www.acmicpc.net/problem/1436
풀이:
n = int(input())
series = 666
cnt = 0
while 1:
if '666' in str(series):
cnt += 1
if cnt == n:
print(series)
break
series += 1
너무 간단한 문제인데
if '666' in str(series)를 몰라서 틀렸다. 문자열 구조에 대해서 조금더 공부가 필요하고 갈 길이 멀다는 것을 느꼈다.
series 시작점을 666으로 잡고
while 문으로 계속 반복해준다.
if '666' in str(series) :
-> 666 이 문자열로 들어있으면cnt +=1 을 해주고 series를 1씩 계속 더해준다.
이렇게 쌓인 cnt는 몇 번째 에 존재하는지 알려주는 입력값과 같아지니 출력하고 while을 멈춰준다.
'코딩테스트' 카테고리의 다른 글
백준 10814 나이순 정렬 (0) | 2022.01.17 |
---|---|
백준 2108 통계학 (0) | 2022.01.16 |
백준 1018 체스판 다시 칠하기 (0) | 2022.01.15 |
백준 7568 덩치 - python (0) | 2022.01.15 |
백준 11729 하노이 탑 이동순서 - python (0) | 2022.01.15 |