본 글은 작성자가 직접 푼 코드를 바탕으로 Chat-GPT를 활용하여 포스팅한 글입니다.
https://www.acmicpc.net/problem/1065
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오.
주어진 문제를 해결하기 위해서는 다음과 같은 방법을 사용할 수 있다.
n = int(input())
cnt = 99
if n < 100 :
print(n)
else:
for i in range(100, n+1):
num = str(i)
gap = int(num[0]) - int(num[1])
status = False
for j in range(1,len(num)-1):
if int(num[j]) - int(num[j+1]) != gap:
status = False
break
else:
status = True
if status:
cnt += 1
print(cnt)
주어진 코드에서는 입력된 수 N에 대해서 한수인지를 판별하고, 카운트하는 로직을 포함하고 있다.