https://www.acmicpc.net/problem/1436
문제 풀이
- '666'이 포함되는 숫자를 666부터 1씩 증가하면서 완전탐색한다.
soltuion2. - 최종코드
import sys
n = int(sys.stdin.readline().strip())
target_number = 666
while n:
if '666' in str(target_number):
n -= 1
target_number += 1
print(target_number-1)
solution1. - 실패
문제 풀이
- 666 앞에 1씩 증가하는 수를 붙인다.
- 666 뒤에 1씩 증가하는 수를 붙인다.
- 두 수를 비교하여 더 작은 값이 result로 값을 갱신한다.
실패 이유
- n = 26일때 15666
- n = 27일때 16660이 나와야되는데 출력값이 17666으로 나옴
- f_count가 16일될때 일의 자리 6도 연속된 6문자에 포함되지 않음.
import sys
n = int(sys.stdin.readline().strip())
count = 0
f_count = 0
b_count = 0
while True:
result = 666
if '666' in str(result):
f_six = int(str(f_count)+str(result))
b_six = int(str(result)+str(b_count))
if f_six >= b_six:
result = b_six
b_count += 1
else:
result = f_six
f_count += 1
if n-1 == count:
print(result)
break
count += 1
'algorithm > 백준' 카테고리의 다른 글
[PYTHON/파이썬] 4949 균형잡힌 세상 - ()[]{}<> (0) | 2023.02.09 |
---|---|
[파이썬/PYTHON] 1251 단어나누기 (0) | 2023.02.08 |
[PYTHON/파이썬] 1526 가장 큰 금민수 - while (0) | 2023.02.07 |
[PYTHON/파이썬] 7568 덩치 -filter (0) | 2023.02.07 |
[PYTHON/파이썬] 1063 킹 (0) | 2023.02.07 |
댓글