본문 바로가기

코딩

[Python] 백준 #2745. 진법 변환

https://www.acmicpc.net/problem/2745

 

2745번: 진법 변환

B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 

www.acmicpc.net

 

# 2745 - Python 3

import sys

input = sys.stdin.readline

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

n_list = list(n)
n_list.reverse()
sum = 0

for i in range(len(n_list)):
    if ord(n_list[i]) > 64:
        sum += (ord(n_list[i]) - 55) * pow(b, i)
    else:
        sum += (ord(n_list[i]) - 48) * pow(b, i)

print(sum)