본문 바로가기

파이썬

[백준] 1065번 한수

문제:

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

 

코드:

1부터 99까지는 모두 한수이므로 n<100 이면 n을 그대로 출력하였고 n이 100 이상 일 때는 한수 조건을 만족하면 count에 1씩 더해주는 것으로 접근하였다. 1~99는 모두 한수이므로 count에 99를 할당했다.

한수는 10의자리 - 100의 자리 = 1의자리 - 10의자리를 만족해야하므로

a = 100의자리

b = 10의자리

c = 1의자리

로 할당한 후 if문으로 b-a == c-b 일 때 count에 1씩 더 해주고 출력하였다.