알고리즘/Python
[백준/Python] 2745번: 진법 변환
_SIHA_
2022. 2. 8. 17:53
📖 문제 링크
https://www.acmicpc.net/problem/2745
2745번: 진법 변환
B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를
www.acmicpc.net
👩💻 문제풀이
진법변환2(11005번)문제를 거꾸로하면 된다고 생각했는데, 생각보다 오래걸린 문제이다.

이렇게 10진법으로 돌려놓는 방식을 그대로 구현했다.
다만 문자열인지 숫자인지 구분하기위해 isdigit()함수를 사용하였고,
문자열인 경우 55를 빼주어 문제의 조건을 맞추었다.
✅ 최종 코드
from curses.ascii import isdigit
n, b = input().split()
n = ''.join(n[::-1])
b = int(b)
sum = 0
for i in range(len(n)):
if n[i].isdigit() :
sum += int(n[i]) * (b**i)
else :
sum += (ord(n[i])-55) * (b**i)
print(sum)