For Programmer

백준 1436번 파이썬 문제풀이(브루트 포스- 영화감독 숌) 본문

코팅테스트/백준 문제 모음

백준 1436번 파이썬 문제풀이(브루트 포스- 영화감독 숌)

유지광이 2021. 10. 7. 18:02
728x90

코드

n = int(input())

theEndNumber = 666 #종말번호
count = 0 # 종말번호를 업데이트 시켜줄 카운트값
while True: #무한반복
    if '666' in str(theEndNumber): #만약 종말번호안에 666이 포함되어 있으면
        count += 1 #해당 카운트값을 1 증가
        if count == n: #그 카운트값이 입력값과 같다면
            break #반복문 탈출
    theEndNumber += 1 #종말번호를 계속해서 1씩 증가

print(theEndNumber) #입력한 n번째의 종말번호 출력

-> 개인적으로 이문제 나만이해를 못한건지 모르겠다.... 단순히 666,1666,.....6666,7666,8666,9666,10666 이런식으로 증가하는 문제인줄 알았으나 그것이 아니었다. 이해가 안되서 다른 블로그들을 참고하였는데 생각보다 단순했다... 5666 후에는 6660 이 6666 보다 더 가까운 숫자이기 때문에 6660이 되어야 한다. 따라서 666,1666,.....5666,6660,6661,6662 ... 이런식으로 증가해야 한다. 문제 설명에 조금더 자세하게 있었다면 좋았을 것이다. ㅠ 코드 자체는 별로 어렵지 않으나 if '666' in str(theEndNumber): 해당 코드를 생각할 수 있어야 쉽게 풀 수 있다.

728x90
Comments