티스토리 뷰
https://www.acmicpc.net/problem/1436
1436번: 영화감독 숌
666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타
www.acmicpc.net
👩💻문제 이해
처음 문제를 풀 때 '666'에 0부터 1씩 커지면서 수를 합치면 풀릴꺼라 생각하고,
# prevnum = 666
# cnt = 1
# i = 1부터 더해지고,
# while cnt = int(input())
# int('666' + 'i') > int('i' + '666') and int('i' + '666') > prevnum => nextnum = int('i' + '666')
# cnt += 1
# i에 6이 들어갈 경우 = > prevnum에서 666앞에 숫자 하나가 빠지고 뒤에 + 0부터 9까지
다음과 같이 합쳐지는 숫자 사이의 규칙을 사용하려고 했지만, 쉽지 않았다.
하지만, 간단하게 생각해보면 해당 문제는 브루트포스 알고리즘을 이용하는 것이므로 모든 경우의 수를 떄려박으면 될 것 같아서 666부터(666보다 작은 숫자 안에는 '666'이 들어갈 수 없다) 수를 1씩 늘리며 str(숫자)에 '666'이 들어가면 카운트를 하는 형식으로 풀면 될 것 같았다.
👩💻666부터 모든 숫자 카운트 : 성공🌈
n = int(input())
cnt = 0
for i in range(666, 6660000):
if '666' in str(i):
cnt += 1
if cnt == n:
print(i)
break;
so EASY.. 하게 풀렸당
✨Point✨
문제를 보고 어떻게 풀어야 할지 생각하는데 시간을 엄청 썼다...
풀고나면 간단한 문젠데 이게 왜이렇게 안보였는지 모르겠다
'🦖 Programming > Python' 카테고리의 다른 글
[Python] 백준 알고리즘 11478번 : 서로 다른 부분 문자열의 개수 (0) | 2022.09.13 |
---|---|
[Python] 백준 알고리즘 1920번 : 수 찾기 (0) | 2022.09.13 |
[Python] 백준 알고리즘 7568번 : 덩치 (0) | 2022.09.07 |
[Python] 백준 알고리즘 2231번 : 분해합 (0) | 2022.09.07 |
[Python] 백준 알고리즘 2798번 : 블랙잭 (0) | 2022.09.07 |
댓글