문제
https://www.acmicpc.net/problem/1065
문제는 위 사이트를 참고해주세요.
풀이
x = int(input())
count = 0 # 숫자가 한수일 때마다 값을 1올려줌
for num in range(1, x+1): # 범위를 1부터 x까지로 하면 최종 x의 값을 num에 포함안하기 때문에 +1에서 포함하게 만든다.
if num < 100: # 두 자리 이하의 수들은 무조건 한수이기 때문에 무조건 +1을 해준다.
count += 1 # 한수일 때마다 +1
else: # 자리 수가 세자리 이상 일 때
strNum = list(map(int, str(num))) # 숫자가 들어오면 각 자리 별로 배열에 저장, ex) num = 100이면 -> [1, 0, 0] 이렇게 저장
if strNum[0] - strNum[1] == strNum[1] - strNum[2]: # 각 자리 수의 차 값이 같으면 +1
count += 1
print(count)
주석을 참고해주세요.
결과
'IT > 알고리즘' 카테고리의 다른 글
1일 1알고리즘 - #9 (0) | 2020.05.15 |
---|---|
1일 1알고리즘 - #8 (0) | 2020.05.15 |
1일 1알고리즘 - #6 (0) | 2020.05.15 |
1일 1알고리즘 - #5 (0) | 2020.05.14 |
1일 1알고리즘 - #4 (0) | 2020.05.14 |
댓글