https://www.acmicpc.net/problem/1065
# 한수인지 확인하는 함수
def one_num(num):
# 자릿수가 2개 이하인 경우, 무조건 등차수열의 형태
if num < 100 :
return True
# 자릿수가 3개 이상인 경우, 공차를 확인
else :
arr = list(str(num))
arr = list(map(int, arr))
gap = arr[0] - arr[1]
for i in range(1, len(arr)-1):
if arr[i] - arr[i+1] != gap:
return False
return True
n = int(input())
res = 0
for num in range(1, n+1):
if one_num(num):
res += 1
print(res)
공차를 확인하는 for
문에서 길이 설정을 잘못하여 오류가 발생했었다. 배열 안의 원소의 차이를 확인할 때는 길이-1까지 for문을 돌려야 한다는 점을 조심해야겠다.