Home [Python] 백준 1065번 : 한수
Post
Cancel

[Python] 백준 1065번 : 한수

Problem

https://www.acmicpc.net/problem/1065

Solution

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def is_hansu(number):
    if number >= 100: #100이상일 때만 체크 
        a = []
        while(number != 0): # 각 자릿수 분리
            a.append(number % 10)
            number = number // 10
        d = a[0] - a[1]
        for i in range(len(a)-1):
            if a[i]-a[i+1] == d: # 등차수열 체크
                continue
            else:
                return 0
    return 1

count=0
n = int(input())

for i in range(1, n+1):
    if is_hansu(i):
        count+=1
print(count)

Memo

한수인지를 체크해주는 함수를 정의하였다. 체크할 정수가 두자리수 이하인 경우(1~99) 항상 한수이기 때문에 100이상부터 체크하였다. 배열에 저장한 자리수를 for문을 돌며 비교하여 한수가 맞는 경우 1을 리턴하게 하였다.

This post is licensed under CC BY 4.0 by the author.

[Python] 백준 4344번 : 평균은 넘겠지

[Python] 백준 1157번 : 단어 공부