◼ PS Note/백준
[백준] 1065번 : 한수 (🥈실버 4) (Python)
SangYoonLee (SYL)
2023. 1. 21. 00:36
반응형
문제 바로 가기
1065번: 한수
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나
www.acmicpc.net
풀이
- 사용 언어 : Python
- 풀이한 날짜 : 2021-09-18
# 방법 1:
def isSequence(num): # num은 문자열
if int(num[0]) - int(num[1]) == int(num[1]) - int(num[2]):
return 1
return 0
n = int(input())
count = 99
if n <= 99: print(n)
elif n <= 110: print("99")
elif n <= 999:
for i in range(111, n+1):
count += isSequence(str(i))
print(count)
else: print("144")
# 방법 2: (map 이용, 모듈화)
def HanSu(n):
cnt = 99
if n <= 99: return n
else:
for i in range(100, n+1):
num_lst = list(map(int, str(i)))
if num_lst[0] - num_lst[1] == num_lst[1] - num_lst[2]:
cnt += 1
return cnt
n = int(input())
print(HanSu(n))
(예전에 기록해둔 풀이를 그대로 옮겨온 것이기에, 부가 설명이 없다는 점 양해 부탁드립니다.)
반응형