14. Python(브루트 포스 실습)
14. Python(브루트 포스 실습)
[toc]
부루트 포스 실습(영화감독 슘)
문제
제출
코드
1
2
3
4
5
6
7
8
9
n = int(input())
cnt = 1
num = 666
while (cnt <= n):
if '666' in str(num):
cnt += 1
num += 1
print(num - 1)
1
2
# 입력
2
1
2
# 출력
1666
1
2
# 입력
5
1
2
# 출력
4666
1
2
# 입력
187
1
2
# 출력
66666
1
2
# 입력
500
1
2
# 출력
166699
인사이트
- 자연수 n( N <= 10,000)을 입력한 뒤
'666'
을 포함하는 수 중 n번째로 작은 수를 구하라 - 반복문 사용
조건
- 시간 제한 : 2초
- 메모리 제한 : 128 MB
풀이
1. 입력
- n을
int
로 받음
2. 반복문
- n의 값에 따라 반복해야할 횟수가 달라지는 것을 보아 for 대신 while을 사용함
3. 판별
1) 반복문 설명
1
2
3
4
5
6
7
8
9
n = int(input())
cnt = 1
num = 666
while (cnt <= n):
if '666' in str(num):
cnt += 1
num += 1
print(num - 1)
영화 시리즈는 1편부터 시작하니
cnt = 1
로 설정- cnt의 값이 입력값 n과 같거나 작은 순간까지 num을 1씩 증가
- 단, num이
'666'
을 포함하는 수일 때 cnt의 값을 증가
- 단, num이
- cnt <= n일 때 num의 값이 1증가한 상태로 while문이 끝나기 때문에 출력할 때
print(num - 1)
로 정답을 출력