이미지


코드 입력

    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())

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

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

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

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

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

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


🔗 백준 Online Judge (opens in a new tab)