728x90
25371번: k진수 정수의 자릿수 나누기 (acmicpc.net)
22/09/09
정직한 제목, 정직한 문제이다. 제목과 걸맞게 잘 구현하면 되는 문제이다.
문제 접근 방식:
10진법으로 입력받은 숫자를 k진법으로 변환시켜주는 함수를 정의했다.
이 함수는 너무나도 잘 알려져 있고, 진법에 관한 지식이 있다면 충분히 구성할 수 있기 때문에 설명하지 않겠다.
그냥 그 함수와 파이썬의 sum함수, 그리고 '0'을 기준으로 분리하는 split메서드를 활용하여 문제를 쉽게 풀 수 있었다.
아래는 내가 위의 접근 방식과 같이 작성한 파이썬 코드이다. 더보기를 누르면 확인할 수 있다.
더보기
# 25371번 k진수 정수의 자릿수 나누기
# 수학, 구현, 정수론
n, k = map(int, input().split())
def k_notation(n, k):
string = ''
while True:
if n < k:
string += str(n)
break
string += str(n % k)
n //= k
return string[::-1]
print(k_notation(sum([int(i) for i in k_notation(n, k).split('0') if i != '']), k))
'알고리즘 > 백준 문제 풀이' 카테고리의 다른 글
[Python] 14607번 피자 (Large) (0) | 2022.09.26 |
---|---|
[Python] 1246번 온라인 판매 (0) | 2022.09.26 |
[Python] 2669번 직사각형 네개의 합집합의 면적 구하기 (0) | 2022.09.21 |
[Python] 1236번 성 지키기 (0) | 2022.09.21 |
[Python] 11659번 구간 합 구하기 4 (0) | 2022.09.21 |