728x90
문제
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다.
등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다.
N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오.
https://www.acmicpc.net/problem/1065
입력
첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다.
출력
첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다.
예제
# input
110
# output
99
# input
1
# output
1
# input
210
# output
105
문제 풀이
N = int(input())
answer = 0
for i in range(1,N+1):
if i < 100:
answer += 1
else:
L = list(map(int, str(i)))
if L[0] - L[1] == L[1] - L[2]:
answer += 1
print(answer)
파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
728x90