본문 바로가기
프로그램이야기/알고리즘

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

by Doinge 2020. 10. 23.
728x90
반응형

백준 단계별 풀이 함수 단계에 있는 한수 문제 1065번을 파이썬으로 풀어보도록 하겠습니다.

문제

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

입력

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

출력

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

예제 입력 1

110

예제 출력 1

99

예제 입력 2

1

예제 출력 2

1

예제 입력 3

210

예제 출력 3

105

예제 입력 4

1000

예제 출력 4

144
 
반응형

풀이

브루트포스 알고리즘이랑도 관련있다고 합니다.

브루트포스 : 가능한 모든 경우의 수를 모두 탐색하며 요구조건에 충족되는 결과를 가져온다. 

해당 방식을 적용해서 풀어보도록 하겠습니다.

1부터 입력수까지 반복문으로 모두 탐색합니다.

1~99까지는 전부 등차수열이기 때문에 한수 입니다. 따라서 6줄에서 분기문으로 처리해 카운트 수를 증가시켜줬습니다.

else 의 경우로 100부터 리스트로 만들어 ['1','0','0'] 같이 만들어 각 자리수의 차가 같은지 확인하여 한수 여부를 확인해 주었습니다.

 

12줄에서 최종결과 cnt를 출력해 줍니다. 

728x90
반응형

댓글