반응형
[문제 출처]
https://www.acmicpc.net/problem/1065
[문제 풀이]
한수인지 아닌지 판단하는 함수를 작성하여 문제를 해결하였다.
10 미만의 숫자라면 무조건 한수이기 때문에 1을 반환하고 아닌 경우는 한수인지 아닌지 판단해야 한다.
10 이상일 경우 for문을 통해 i번째와 i+1번째의 차를 구하고
이전에 구한 차와 동일하지 않다면 0을 반환하여 반복문을 멈춘다.
n을 입력받고 1부터 n까지 한수인지 아닌지 확인하여 카운팅 한다.
def isHansoo(num):
s = str(num)
if len(s) == 1:
return 1
else:
diff = int(s[0]) - int(s[1])
for i in range(len(s)-1):
if diff != (int(s[i]) - int(s[i+1])):
return 0
return 1
n = int(input())
cnt = 0
for i in range(1, n+1):
if isHansoo(i) == 1:
cnt += 1
print(cnt)
반응형
'알고리즘 > python' 카테고리의 다른 글
[python/파이썬] 백준 1620 나는야 포켓몬 마스터 이다솜 (0) | 2022.09.19 |
---|---|
[python/파이썬] 백준 10815 숫자 카드 (0) | 2022.09.16 |
[python/파이썬] 백준 25501 재귀의 귀재 (2) | 2022.09.14 |
[python/파이썬] 백준 1436 영화감독 숌 (0) | 2022.09.13 |
[python/파이썬] 백준 7568 덩치 (0) | 2022.09.07 |