[Algorithm] 백준 1436 - 영화감독 숌 in python(파이썬)

하이초·2022년 7월 6일
0

Algorithm

목록 보기
9/94
post-thumbnail

💡 백준 1436: 영화감독 숌

모든 숫자를 돌며 '666'이 들어갈 때마다 카운트하여 그 값이 입력값과 일치할 때의 숫자 n 출력

🌱 코드 in Python

알고리즘: Brute Force

import sys

n = int(sys.stdin.readline())
num = 666
while n: # 입력 n값이 0이될 때까지
	if "666" in str(num):
		n -= 1
	num += 1
print(num - 1) # 마지막 카운트가 감소한 후 num이 1 증가하여 - 1처리

이 문제의 함정은 5666 다음에 카운트 될 숫자가 6666이 아닌 6660, 6661, ..., 6665라는 점이다
처음 예제에서 500의 결과가 166699인 것을 보고 음? 하고 이 부분을 확인할 수 있었다

다만 나는 이 숫자들이 나타나는 규칙을 더 세세하게 나눌 수 없어서
666부터 카운트에 도달할 때까지 숫자를 1씩 증가하며 모든 숫자를 순회하기로 결정했다

근데 포스팅하며 생각해보니

import sys

n = int(sys.stdin.readline())
num = 665
while n:
	num += 1
	if "666" in str(num):
		n -= 1
print(num)

이 코드가 더 깔끔한 것 같다


🧠 기억하자

오늘 문제는 중간 함정만 잘 파악하면 그리 어렵지 않았던 문제였다

사실 지금 하고 있는 스터디에서 이번주에 원래 풀기로 했던 문제가 너무 어려워가지고,,
그냥 다른 좀 더 낮은 레벨의 문제를 풀어보었다..
한 3~4일 뇌풀기식으로 더 하위 문제를 좀 풀고 다시 도전해야겠다
알고리즘,, 언제 쉬워질까..?

백준 1436 바로가기

profile
개발국대가 되는 그 날까지. 지금은 개발 응애.

0개의 댓글