본문 바로가기
백준 - 파이썬/단계별 - 8 (일반 수학 1)

[백준/파이썬] 2745번 진법 변환 | 10진수로 바꾸기/제곱: **

by miiinn 2025. 5. 13.

 

10진수로 변경하는 방법을 알고있으면 된다.

 

# 진법 변환
nums = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'

n, b = input().split()
n = n[::-1] # 역순으로 만들기
b = int(b)

# b진법 -> 10진법
# res = b의0제곱 * n[0] + b1 * n[1] ...
# res += bi * n[i]

res = 0
for i in range(len(n)):
    res += (int(b) ** i) * (nums.index(n[i]))

print(res)

 

[핵심 코드]

res += (int(b) ** i) * (nums.index(n[i]))

 


그런데 파이썬은 int()함수를 이용하면 10진법으로 바꿀 수 있다!!

int(변환할str, n진법(int))

 

이를 이용해서 다시 풀어보면

 

n, b = input().split()
print(int(n, int(b)))