백준 - 파이썬/단계별 - 8 (일반 수학 1)

[백준/파이썬] 11005번 진법 변환 2

miiinn 2025. 5. 13. 15:29

 

 

만약 2진법, 16진법으로 바꾸고 싶다면 format()함수를 사용할 수 있다.

 

10진법 -> b진법으로 바꾸는 기본 원리는 수를 계속해서 b로 나눈 후 나머지가 마지막 수가 되는 원리이다.

# 진법 변환 2
nums = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
n, b = map(int, input().split())
res = ''
# 10진법 -> b진법
# 더 안 나눠질 때까지 b로 나누며 나머지를 저장한다.

while n: # n이 0이면 반복 중단
    res += str(nums[n%b])
    n //= b

print(res[::-1])

 

[핵심 코드]

# 10진법 -> b진법
# 더 안 나눠질 때까지 b로 나누며 나머지를 저장한다.

while n: # n이 0이면 반복 중단
    res += str(nums[n%b])
    n //= b