반응형
문제 바로 가기
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))
(예전에 기록해둔 풀이를 그대로 옮겨온 것이기에, 부가 설명이 없다는 점 양해 부탁드립니다.)
반응형
'◼ PS Note > 백준' 카테고리의 다른 글
[백준] 1316번 : 그룹 단어 체커 (🥈실버 5) (Python) (0) | 2023.01.21 |
---|---|
[백준] 11653번 : 소인수분해 (🥈실버 4) (Python) (0) | 2023.01.21 |
[백준] 5355번 : 화성 수학 (🥉브론즈 2) (Python) (0) | 2023.01.20 |
[백준] 4344번 : 평균은 넘겠지 (🥉브론즈 1) (Python) (2) | 2023.01.20 |
[백준] 3052번 : 나머지 (🥉브론즈 2) (Python) (0) | 2023.01.20 |