Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 1436번- '영화감독 숌' (PYTHON 풀이) 본문
문제:

문제는 위와 같다. 666, 1666, 2666... 이러한 순서대로 666이 연속으로 들어가는 수를 만났을 때 몇번째 영화의 제목인지 출력하면 된다.
이번 문제 역시 예시와 설명이 크게 헷갈리는 것은 없는 것 같아 바로 풀이로 넘어가겠다.
풀이:
N = int(input())
a = 0
number = 0
while True:
a += 1
result = str(a)
if '666' in result:
number += 1
if number == N:
break
print(result)
풀이는 다음과 같다. 문제 감을 잘 못 잡겠어서 서치를 통해 도움을 받아 풀었다.
우선 해당 문제는 '666'이 포함되어야 출력이 된다. 그러기 위해서 브루트포스 방식으로 처음부터 끝까지 전부 다 일일이 대입해서 사용자값에 해당하는 '666'이 포함된 값을 확인해야 한다.
먼저 반복문은 항상 True이기 때문에 계속 돌 것이고 a는 반복문에 따라 지속적으로 1씩 증가해서 '666'이 포함되는 숫자를 만들어주는 역할을 한다. 또한, number는 사용자가 입력한 값과 일치하는지 확인해주는 역할을 한다.
이렇게만 설명하면 헷갈릴 수 있으니 아래와 같이 차근차근 설명해보겠다.
처음 반복문을 돌 때 a의 값은 1만큼 증가하니 1부터 돌게 될건데, 이때 1을 문자 형태로 result에 넣고 이 값에 '666'이 포함되는지 조건문을 통해 확인한다. 그럼 당연히 1일 땐 '666'이 포함되지 않으니 if문을 통과할 수가 없어 다시 'a+=1'을 할 것이다. 이렇게 계속 반복문을 돌면서 '666'까지 증가가 됐을 때 if문이 True가 되어서 number가 1 증가하고 만약 사용자가 1을 입력했다면 1 == 1이 되어 이에 해당하는 result 값이 출력된다.
'CODING 💻' 카테고리의 다른 글
| 백준 10773번- '제로' (PYTHON 풀이) (0) | 2025.10.21 |
|---|---|
| 백준 28278번- '스택 2' (PYTHON 풀이) (0) | 2025.10.20 |
| 백준 11478번- '서로 다른 부분 문자열의 개수' (PYTHON 풀이) (0) | 2025.10.18 |
| 백준 1269번- '대칭 차집합' (PYTHON 풀이) (0) | 2025.10.17 |
| 백준 10816번- '숫자 카드 2' (PYTHON 풀이) (0) | 2025.10.16 |
