백준 1436 영화감독 숌

배형만·2022년 4월 25일
0

1436 영화감독 숌

이 문제는 멍만 때리다가 시간이 지나 정답자의 코드를 참조하고 공부하였다.
우선 적용해야하는 알고리즘의 분류는 브루트포스!

👍정답자의 코드

우선 코드부터 보자

n = int(input())
count = 0
nth = 666
while True:
    if '666' in str(nth):
        count += 1
    if count == n:
        print(nth)
        break
    nth += 1

굉장히 짧다..
어떻게든 수칙을 찾아 계산을 해보려고 했던 나의 모습이 반성된다.

코드를 풀어 해석하자면, 우선 666번 부터 무한하게 수를 올리고 매수마다 666이 포함되어있는지 확인한다. 666부터 오름차순으로 수를 증가 시키기에 수에 666이 포함되었다면 N번째중 가장 작은 종말의 숫자가 되는것이다.

✌다음에는..

현재의 나는 문제를 너무 Naive하게 접근하려고 하는 성향이 있다. 좀더 차분하게 생각하는 힘을 기르자. 비슷한 유형의 문제를 많이 풀어보고 익숙해지는것이 급선무 일듯 하다.

profile
맨땅에 헤딩 장인

0개의 댓글