728x90
📌문제 출처
백준 단계별 문제풀이 - 함수
https://www.acmicpc.net/problem/1065
❓ 문제
📗 문제 설명
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오.
📗 입출력
- 입력
- 첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다.
- 출력
- 첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다.
- 첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다.
❗ 풀이
- 형 변환 활용
📗 풀이 코드
n = int(input())
if n < 100 :
print(n)
else :
ans = 99
for i in range(100,n+1):
if int(str(i)[0]) - int(str(i)[1]) == int(str(i)[1]) - int(str(i)[2]) :
ans +=1
print(ans)
📗 코드 해설
- 한자리, 두자리 수는 모두 각 자릿수가 등차수열을 이루므로 100 미만 한수의 개수는 99개
- 100이상의 수부터 반복문을 돌면서 각 자리별 차이가 동일한지 확인
'파이썬 문제풀이' 카테고리의 다른 글
[백준 파이썬] 11720 숫자의 합 (0) | 2023.09.13 |
---|---|
[백준 파이썬] 11654 아스키 코드 (0) | 2023.09.13 |
[백준 파이썬] 15596 정수 N개의 합 (0) | 2023.09.13 |
[백준 파이썬] 4344 평균은 넘겠지 (0) | 2023.09.13 |
[백준 파이썬] 8958 OX퀴즈 (0) | 2023.09.13 |