문제링크 : www.acmicpc.net/problem/1436
정답 코드
N = int(input())
n = 666
count = 0
while True:
if '666' in str(n):
count += 1
if count == N:
print(n)
break
n += 1
문제 풀이
이번 문제는 가능한 모든 경우의 수를 검사하는 '브루트포스 알고리즘'에 해당하는 문제이다.
문제에서 가장 중요하게 요구되는 것은 연속된 3번 이상의 6을 포함한 숫자를 찾는 것이다.
1. 666
2. 1666
3. 2666
4. 3666
5. 4666
...
처음 1번째 수는 666으로 지정하고 그로부터 '666'이 포함된 숫자를 찾아나가며, 숫자를 찾을 때마다 count를 1씩 증가시킨다. 이 과정을 반복하면서 찾으려고하는 N번째 숫자와 count가 일치하면 반복문을 종료하며, 결과값을 출력한다.
'코딩 > 백준 문제풀이' 카테고리의 다른 글
[백준 알고리즘 #4673] 셀프 넘버(Python3) (0) | 2021.03.04 |
---|---|
[백준 알고리즘 #2751] 수 정렬하기 2(Python3) (0) | 2021.03.03 |
[백준 알고리즘 #10828] 스택(Python3) (0) | 2021.03.03 |
[백준 알고리즘 #1152] 단어의 개수(Python3) (0) | 2021.03.02 |
[백준 알고리즘 #1157] 단어 공부(Python3) (0) | 2021.03.02 |