[Python] 백준 BaekJoon 1065

2021. 8. 14. 11:00Algorithm/BaekJoon

 

1065번: 한수

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

www.acmicpc.net

문제

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

 

입력

첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다.

 

출력

첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다.

 

 

[풀이 접근법]

문제 풀이 전 등차수열이 무엇인지 모른다면 등차수열의 개념부터 알아야 한다

등차수열이란, 연속하는 두 항의 차가 일정한 수열을 의미한다

(연속하는 두 항들에 공통적으로 나타나는 차로 공차라고도 한다)

 

1. 위에서 본 바와 같이 두 항의 차가 일정한지 비교가 되야하기 때문에 99까지는 모두 한수

   입력값 < 100, 계산할 필요 없이 입력값이 한수가 된다

 

2. 입력값 > 99, 연속하는 두 항의 차가 동일할 경우에만 한수를 1씩 증가시킨다

   이때, 최대 입력값은 1000으로 1000은 연속하는 항의 차가 동일하지 않다

   즉, 인덱스 0 ~ 2까지만 비교하면 된다

 

'Algorithm > BaekJoon' 카테고리의 다른 글

[Python] 백준 BaekJoon 11720  (0) 2021.08.14
[Python] 백준 BaekJoon 11654  (0) 2021.08.14
[Python] 백준 (BaekJoon) 4344  (0) 2021.08.13
[Python] 백준(BaekJoon) 8958  (0) 2021.08.12
[Python] 백준(BaekJoon) 1546  (0) 2021.08.12