[BOJ] 1065: 한수
🔒 예제
>> 110
99
>> 1
1
>> 210
105
>> 1000
144
🔧 풀이
1. n = int(sys.stdin.readline().rstrip())
2. 한수(x의 각 자리가 등차수열인 수) 구하기
2.1 1부터 99까지: 항상 한수 / 100부터 n까지 숫자 확인
2.2 문자열과 정수형을 번갈아가며 각 자리 수 차이 확인
🔑 답안
import sys
n = int(sys.stdin.readline().rstrip())
cnt = n
if n > 99:
cnt = 99
for num in range(100, n+1):
# 123 135 147 159 234 246 258
flag = True
gap = int(str(num)[0]) - int(str(num)[1])
for i in range(2, len(str(num))):
if gap != int(str(num)[i-1]) - int(str(num)[i]):
flag = False
break
if flag:
cnt += 1
print(cnt)
💡 개념
Author And Source
이 문제에 관하여([BOJ] 1065: 한수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ohhj1999/BOJ-1065저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)