일단, 최대 세자리 수가 입력이 되므로 1부터 999까지를 생각하고 풀면 된다. 근데 여기서, 1~9 즉 한자리 수는 한수인가.. 아닌가..를 고민했는데 찾아보니 한수였다! 그러므로 1부터 99까지는 모두 한수가 될것이며 조건문으로 한수를 확인해야할 부분은 세자리 수이다.
한 수씩 리스트에 담아서 그 차이를 비교하면 풀 수있는 문제였다.
import sys
input = sys.stdin.readline
num = int(input())
count = 0
for i in range(1,num+1):
if i < 100:
count += 1
else:
lst = list(map(int,str(i)))
if (lst[2] - lst[1]) == (lst[1] - lst[0]):
count += 1
print(count)
'Algorithm > 백준' 카테고리의 다른 글
백준 2309번(Python) : 일곱 난쟁이 (0) | 2021.03.03 |
---|---|
백준 2798번(Python) : 블랙잭 (0) | 2021.03.03 |
백준 11727번(Python) : 2 x n 타일링 2 (0) | 2021.02.26 |
백준 11048번(Python) : 이동하기 (0) | 2021.02.24 |
백준 1212번(Python) : 8진수 2진수 (0) | 2021.02.24 |