Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

바닥부터 시작하는 개발 공부

[알고리즘]백준 1065번: 한수 본문

카테고리 없음

[알고리즘]백준 1065번: 한수

Im_light.J 2023. 2. 7. 09:10
728x90

알고리즘 유형: 브루트포스

문제

어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 

입력

첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다.

출력

첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다.

 

 

풀이

 


import sys 

N = int(sys.stdin.readline().strip())
def hansu(n):
    if 1<=n<=99:
        return True 
    n = str(n)
    
    diff=[]
    for i, num in enumerate(n): 
        num = int(num)
        if i!=0:
            diff =last_num-num
            if i!=1  and last_diff!= diff:
                return False
        last_diff = diff
        last_num = num 
    return True 
    
hansu_nums = []
for i in range(1,N+1):
    if hansu(i)==True:
        hansu_nums.append(i)
print(len(hansu_nums))

 

728x90
Comments