[파이썬] 1065번:한수

김충섭·2021년 6월 3일
0

백준

목록 보기
36/39
post-thumbnail

문제 및 해결

한수의 갯수를 구하는 함수를 만드는 문제이다. 한 자리수나 두 자리수 까지는 등차수열이 무조건 성립하고 4 자리수(1000)은 한수가 되지 못한다. 따라서 나머지 100~999의 세 자리수만 등차수열이 성립하는지 조건을 건다. 조건은 등차수열의 합공식이 맞으면 등차수열이므로 맞으면 count 값을 증가 시켜준다.

소스코드

def get_num_of_hansoo(n):
    count = 0  # 한수 갯수 세는 변수
    for i in range(1, n+1):
        if 1 <= i <= 99:  # 한 자리 수나 두 자리수 일 때
            count += 1
        elif i == 1000:  # 4자리 수 일 때
            pass
        else:  # 세 자리 수 일 때
            l = list(map(int, str(i)))
            if l[1] == (l[0] + l[2]) / 2:  # 등차수열일 경우 성립하는 공식
                count += 1
    return count


N = int(input())
print(get_num_of_hansoo(N))

느낀점

처음에는 문제 접근방식 감이 안왔는데. 노트에 예시를 나열하니 감이 생겼다. 문제를 한 번에 해결하려고 하지 말고 쪼개서 풀면 더 쉽다.

profile
나를 위한 개발블로그

0개의 댓글