알고리즘/Baekjoon
[CodingTest] 백준 #1065 한수
Happyoon ~
2021. 12. 1. 23:27
728x90
반응형
https://www.acmicpc.net/problem/1065
1065번: 한수
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나
www.acmicpc.net
내 코드
def check(num):
n = str(num)
arr =[]
flag=0
for i in range(len(n)-1):
if len(arr)==0:
arr.append(int(n[i+1])-int(n[i]))
else:
if arr[0]!=int(n[i+1])-int(n[i]):
flag=1
return False
if flag==0:
return True
n = int(input())
sum=0
for i in range(1,n+1):
if check(i):
sum+=1
print(sum)
숫자를 문자열로 변환하고, 만약 arr이 비어있다면 다음 자릿수에서 현재 자릿수를 뺀 값을 arr에 넣어준다.
arr이 있다면, arr에 들어있는 값과 자릿값들의 차를 비교한다.
만약 arr에 들어있는 값과 차가 다르면, False를 리턴하고, 끝까지 비교했을 때 모두 동일하다면 True를 리턴한다.
반응형