BOJ_1065 한수 -Python3
문제분석
1. 관찰
- 한수: x의 각 자리가 등차수열을 이루는 수
- 범위가 1000 미만의 수에 한정되어있으므로 세자리 수 까지 고려한다.
- 2자리 수 까지는 모두 한수
- 3자리 수는 값의 차이를 직접 비교하여 맞는 경우만 카운트한다.
2. 복잡도
- O(N) = 999 >> 가능
3. 자료구조
- 한수: int
해결코드
import sys
si = sys.stdin.readline
N = int(si())
num = 0
ans = 0
while num < N:
num += 1
if num < 100: # 2자리수 까지는 모두 한수
ans+=1
if 100 <= num: # 3자리 한수는 차이를 비교
a,b,c = num//100, (num%100)//10, num%10
if a-b == b-c:
ans+=1
print(ans)
'Etc > PS' 카테고리의 다른 글
BOJ_2231 분해합 -Python3 (0) | 2022.08.05 |
---|---|
BOJ_2798 블랙잭 -Python3 (0) | 2022.08.04 |
BOJ_20207 달력 -Python3 (0) | 2022.08.03 |
BOJ_17836 공주님을 구해라! -Python3 (2) | 2022.08.03 |
BOJ_15787 기차가 어둠을 헤치고 은하수를 -Python3 (0) | 2022.08.02 |