반응형
백준 1065번 한수 문제에 대한 파이썬(Python) 풀이입니다.
아래 답안은 참고만 해주시길 바랍니다.
https://www.acmicpc.net/problem/1065
반응형
def count_hansu(x):
count = 0
for i in range(1, x+1):
if 1 <= i < 100 :
count += 1
if 100 <= i < 1001 and i % 100 // 10 - i // 100 == i % 100 % 10 - i % 100 // 10:
count += 1
return count
N = int(input())
print(count_hansu(N))
count_hansu 함수
각 자리가 등차수열인 수를 '한수'라고 하는데,
한수의 각 자리들이 등차수열일 경우 count로 셀 겁니다.
한자리수인 숫자는 포함해줍니다(예시답안 확인)
두자리수인 숫자는 어떤 조합이어도 등차수열입니다.
2개의 수로 이루어진 수열이라고 할 수 있습니다.
3개 이상으로 이루어져 있지 않아 규칙성이 없기 때문에 등차수열이라 우길 수 있습니다(?)
15는 4만큼 차이나는 등차수열, 77은 0만큼 차이나는 등차수열인 겁니다.
세자리수는,
(i % 100) // 10 에서 i // 100을 뺀 값이
i % 100 % 10에서 i % 100 // 10을 뺀 값과 같을 경우 count를 1 더했습니다.
SMALL
%를 이용하면,
각 자릿수를 10^n으로 나눠 몫만 취해 각 자리의 숫자를 추출할 수 있습니다.
ex)
566 % 100 = 5
566 % 10 = 6
//를 이용하면,
각 자릿수를 10^n으로 나눠 나머지를 취해 남은 숫자를 추출할 수 있습니다.
ex)
566 // 100 = 66
566의 66을 추출할 수 있음
반응형
'프로그래밍 > 백준' 카테고리의 다른 글
[백준/파이썬] 1085번 직사각형에서 탈출 (0) | 2024.03.22 |
---|---|
백준 티어 보는 법, 티어 순서, 문제별 티어 보는 법 (0) | 2024.03.21 |
[C/C++] 백준 2523 별 찍기 - 13 (0) | 2022.06.07 |
[C/C++] 백준 2522 별 찍기 - 12 (0) | 2022.06.07 |
[C/C++] 백준 2446 별 찍기 - 9 (0) | 2022.06.07 |