[백준] 1065번 한수

거북이·2023년 1월 10일
0

백준[실버4]

목록 보기
2/91
post-thumbnail

💡문제접근

  • 양의 정수 X를 문자로 인식하도록 설정하였을 때 연속된 두 개의 수의 차이가 일정한지 확인하는 조건문을 작성했다.
  • 1 ≤ N ≤ 99인 경우 한수의 개수는 N개가 된다.
  • N ≥ 100인 경우 한수의 개수를 계산해주면 되는데 연속된 두 개의 수의 차이가 모두 같아야하므로 이를 확인해주기 위한 변수 flag를 설정해두어 False가 나오는 순간 break를 실행시켰다.
  • 만약 flag의 값이 True가 나온다면 한수라는 의미이므로 한수의 개수를 증가시켜준다.

💡코드(메모리 : 30616KB, 시간 : 36ms)

flag = True
N = int(input())
if N < 100:
    hansu = N
else:
    hansu = 99
    for num in range(100, N+1):
        num = str(num)
        for i in range(1, len(num)-1):
            diff = int(num[0]) - int(num[1])
            if int(num[i]) - int(num[i+1]) == diff:
                flag = True
            else:
                flag = False
                break
        if flag:
            hansu += 1
        else:
            continue
print(hansu)

💡소요시간 : 8m

0개의 댓글