문제 설명
•
N번째로 작은 “666”이 연속으로 포함된 수를 찾아 출력하는 문제
예제 입력/출력
•
입력1
2
Plain Text
복사
•
출력1
1666
Plain Text
복사
제약 조건
•
문제 풀이
•
접근1 브루트 포스 -
◦
규칙성을 발견하면 좋겠지만 쉽게 규칙성이 발견되지 않는다.
▪
4666 → 5666 → 6666 (x)
▪
4666 → 5666 → 6660 (o)
◦
따라서 이런 경우 입력값의 최대가 10,000개로 크지 않기 때문에 무작정 숫자를 다 더해서 찾아보는 브루트 포스 방식으로 문제를 해결할 수 있다.
count = 0
num = 666
반복:
만약 '666'이 num에 포함되어 있다면:
count 증가
만약 count == N 이면:
num 반환
num 증가
Python
복사
풀이 코드
def find_end_number(N):
count = 0
num = 666
while True:
if '666' in str(num):
count += 1
if count == N:
return num
num += 1
# 입력값 받기
N = int(input())
print(find_end_number(N))
Python
복사