Algorithm/BOJ
[백준] 2745 진법 변환 (파이썬 python)
YOONJELLY
2022. 1. 25. 23:10
문제 링크
https://www.acmicpc.net/problem/2745
2745번: 진법 변환
B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를
www.acmicpc.net
문제
문제 풀이
1234(2)를 10진수로 변환하려 할 때
2^3 * 1 + 2^2 * 2 + 2^1 * 3 + 2^0 * 4 의 계산으로 변환된다.
이 원리를 활용해서 N을 입력받고 0부터 순서대로 B^(len(N) - 1)까지 곱해지는 것에 대해 for문으로 작성하였다.
N, B = input().split()
N = N[::-1]
B = int(B)
table = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
result = 0
for i in range(len(N)):
result += table.index(N[i]) * (B ** i)
print(result)