📖 문제 링크
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)
'알고리즘 > Python' 카테고리의 다른 글
[백준/Python] 11576번: Base Conversion (0) | 2022.02.08 |
---|---|
[백준/Python] 1373번: 2진수 8진수 (파이썬 진법 변환 요약) (0) | 2022.02.08 |
[백준/python] 11005번 : 진법 변환 2 (0) | 2022.02.08 |
[백준/python] 9613번: GCD 합 (0) | 2022.02.08 |
[백준/Python] 1158번: 요세푸스 문제 (0) | 2022.01.31 |