nan + nan = 2nan

[백준][Python3] #1065. 한수 본문

Python/백준 알고리즘

[백준][Python3] #1065. 한수

2nan 2023. 1. 14. 17:21
728x90


코드 입력

def hansu(n):
    list_hansu = []
    for i in range(1, n+1):
        if i < 100:
            list_hansu.append(i)
        elif 100 <= i < 1000:
            hun_quo = i // 100
            ten_quo = (i % 100) // 10
            remainder = (i % 100) % 10

            diff_hunten = hun_quo - ten_quo
            diff_tenrmd = ten_quo - remainder

            if diff_hunten == diff_tenrmd:
                list_hansu.append(i)

    return len(list_hansu)

num = int(input())
print(hansu(num))

 등차수열에 관한 문제이다. 

등차수열의 경우에는, 공차(연속된 두 개의 수의 차이)가 일정하기 때문에 해당 기준이 같은 친구들을 리스트에 추가해준다. 

100 이하 숫자는 연속된 수가 2개 미만이기 때문에, 전부 해당되며 100~1000 사이의 숫자만 고려하면 된다.

나는 조건에 맞을 경우 리스트에 넣고, 해당 리스트의 길이를 반환하는 함수를 만드는 로직으로 해당 문제를 풀었다.

함수는 빨리 만들었는데, 문제 제출 시 자꾸 NameError가 떠서 뭔가 했는데, input 변수를 따로 만들지 않고

함수만 던져주니까 발생한 에러였다.


출처 : 백준 Online Judge

 

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

 

1065번: 한수

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

www.acmicpc.net

 

Comments