[Python]BaekJoon.AC
[Python]백준 BaekJoon.AC 1436 : 영화감독 숌(브루트포스, find())
스뇨잉
2022. 1. 11. 15:03
728x90
728x90
https://www.acmicpc.net/problem/1436
1436번: 영화감독 숌
666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타
www.acmicpc.net
브루트포스 알고리즘이란 확신이 없었을 땐 이런 저런 구상들을 해봤는데,
아무리 생각해도 하나씩 카운트 해주는게 신속정확할 것 같았다.
1씩 늘려주는 변수 num을 처음부터 666으로 설정한 이유는, 666이 조건을 만족하는 첫 숫자이기 때문이다.
(1~665)는 시간낭비가 확실하니 666을 처음으로 뒀다.
while문을 사용했고, num을 1씩 증가시켜주며 666이 포함된 숫자인지 체크한다.
이때, 숫자를 string으로 변환해 find함수로 "666"을 찾아줬다.
내가 잠시 헤맸던 이유는 두번째 if문을 설정할 때,
더보기
<틀린코드>
if s.find("666"):
로 설정했기 때문이다.
"666"을 찾아내면 True를 리턴할 줄 알고 이렇게 작성했는데,
find함수는 문자열이 존재하는 index를 리턴하고 만약 존재하지 않으면 -1을 리턴한다.
그렇기 때문에 이 경우에선 -1인지 아닌지만 확인해주면 되는 것이다.
N = int(input())
num = 666
series = 0
while True:
if N == series:
print(s)
quit()
s = str(num)
if s.find("666") != -1:
series = series + 1
num = num+1
728x90
728x90