문제
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다.
Python3 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
|
def hansu(num) :
hansu_cnt = 0
for i in range(1, num+1):
num_list = list(map(int,str(i)))
if i < 100:
hansu_cnt += 1 # 100보다 작으면 모두 한수
elif num_list[0]-num_list[1] == num_list[1]-num_list[2]:
hansu_cnt += 1 # x의 각 자리가 등차수열이면 한수
return hansu_cnt
num = int(input())
print(hansu(num))
|
cs |
'Coding Test > Python' 카테고리의 다른 글
백준 11720번 [Python] 숫자의 합 (0) | 2022.04.08 |
---|---|
백준 11654번 [Python] 아스키 코드 (0) | 2022.04.08 |
백준 4673번 [Python] 셀프 넘버 (0) | 2022.04.07 |
백준 15596번 [Python] 정수 N개의 합 (0) | 2022.04.07 |
백준 4344번 [Python] 평균은 넘겠지 (0) | 2022.04.06 |