감자튀김 공장🍟

[백준/1065] 한수 (with 파이썬) 본문

Algorithm/BOJ

[백준/1065] 한수 (with 파이썬)

Potato potage 2022. 10. 10. 18:57
반응형

✔ 문제


풀이

def get_hansu(n):
    hansu = 0
    if n < 100:
        hansu = n
    else:
        hansu = 99
        for i in range(100, n+1):
            num_list = list(map(int, str(i)))
            
            if num_list[0] - num_list[1] == num_list[1] - num_list[2]:
                hansu += 1
    return hansu

n = int(input())
print(get_hansu(n))

 

입력받은 n을 한자리씩 쪼개 등차수열이 만들어지는지 확인해야한다.

1~99까지는 각 자리수의 차이가 1 또는 0이기 때문에 n이 100 미만인 경우는 입력받은 n의 값을 hansu의 값으로 return 해주면 된다.

 

n이 100 이상인 경우에는 숫자를 쪼갠 후 list로 만들어 백의 자리수 - 십의 자리수 와 십의 자리수 - 일의 자리수 의 값이 같은지 (등차수열인지) 확인한 후, 같을 경우에 hansu를 +1 해주면 된다.

for문을 100부터 시작하기 때문에 hansu의 초깃값은 99로 고정된다(99까지는 다 한수이기 때문에)

 


후기

( ◜◡‾)◜◡‾)◜◡‾)◜◡‾)◜◡‾)₎⁾⁾

 

반응형
Comments