[백준] 1065번 : 한수 (파이썬)

뚝딱이 공학도·2022년 1월 28일
0

문제풀이_백준

목록 보기
37/159




문제





나의 답안

def hansu(num):
    count=0
    a=[]
    for i in range(1,num+1):
        a=list(map(int,str(i)))
        if i<100:
            count+=1
        elif a[0]-a[1]==a[1]-a[2]:
            count+=1
    return count

n=int(input())
print(hansu(n))
  1. 반복문에서 1보다 크고 n보다 작거나 같은 한수의 개수를 구해야한다.
  2. 숫자를 각 자리수로 분리해준다.
  3. 숫자가 100보다 작을 때는 등차수열을 이루므로 해당 수는 무조건 한수이다.
  4. 100보다 크면 첫째 자리수(a[0])에서 둘째 자리수(a[1])를 빼주고 이 값이 둘째 자리수(a[1])에서 셋째 자리수(a[2])를 뺀 값과 같은지 계산해준다. 만약 해당 조건문이 참이면 등차수열을 이루는 한수이므로 count에 1을 더해준다.

0개의 댓글