[BOJ][Python]한수 #1065

MEIN_FIGUR·2021년 8월 13일
0

백준_문제풀이

목록 보기
14/21

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문을 돌려야 한다는 점을 조심해야겠다.

profile
Growing Developer

0개의 댓글