728x90
반응형
문제
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다.
출력
첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다.
예제 입력 1
110
예제 출력 1
99
✔️ Code
N = int(input())
cnt = 0
for i in range(1, N+1):
if i < 100:
cnt += 1
else:
num_list = list(map(int, str(i))) # 숫자를 자릿수대로 분리
if num_list[0] - num_list[1] == num_list[1] - num_list[2]:
cnt += 1
print(cnt)
✏️ Comment
생각을 못하고 있었는데 100 미만의 수면 다 한수여서 그 이상의 수에 대해서만 등차수열인지 확인해서 카운트해주면 되는 문제였다. 여기서 중요한 것은 숫자를 자릿수대로 분리해서 받는 list(map(int, str(i))) 부분이다. str 형식으로 숫자를 받아와야 자릿수대로 int 형식으로 분리할 수 있다. 알아둘 것..
728x90
반응형
'백준 > 정렬, 탐색' 카테고리의 다른 글
[백준🥈3] #3085 사탕게임 (python) (0) | 2022.08.02 |
---|---|
[백준🥈4] #1120 문자열 (python) (0) | 2022.08.01 |
[백준🥈5] #2635 수 이어가기 (python) (0) | 2022.07.29 |
[백준🥈5] #2435 기상청 인턴 신현수 (python) (0) | 2022.07.28 |
[백준🥈5] #7568 덩치 (python) (0) | 2022.07.28 |
댓글