본문 바로가기
파이썬알고리즘

백준 1605 한수 (파이썬)

by zho 2021. 8. 30.

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

 

1065번: 한수

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

www.acmicpc.net

 

○ 풀이

def hansu(n):
  count = 0
  if n < 100:
    count = n
  else:
    count = 99
    for i in range(100, n + 1):
      n_split = list(map(int, str(i))) (123 -> ['1','2','3'])
      if n_split[0] - n_split[1] == n_split[1] - n_split[2]: # 등차수열 확인 (한수 조건)
        count += 1
  return count

n = int(input())
print(hansu(n))

 


 

○ 배운 점

코드를 꼼꼼히 확인하는 습관을 기르자. 처음에 8번째 줄 코드에서 n_split = list(map(int, str(i)))) 를 n_split = list(map(int, str(n)))) 으로 쓰는 끔찍한 짓을 해 답이 안 나와서 당황했다.

 

728x90