728x90
https://www.acmicpc.net/problem/2745
2745번: 진법 변환
B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를
www.acmicpc.net
손풀겸 푸는 문제
딕셔너리 자료형을 사용해서 '0'부터 '9'까지 그리고 'A'부터 'Z'까지 생성한뒤 각 자리에 맞는 값을 구해서 계속 더해주었다.
import sys
nums_dict = dict(zip(
map(chr, range(ord('A'), ord('Z') + 1)),
range(ord('A') - ord('A') + 10, ord('Z') - ord('A') + 11)
))
for i in range(10):
nums_dict[str(i)] = i
def main():
N, B = sys.stdin.readline().split()
B = int(B)
ans = 0
for num_ch in N:
ans *= B
ans += nums_dict[num_ch]
print(ans)
if __name__ == '__main__':
main()
'STUDY > Algorithm' 카테고리의 다른 글
[백준] 19237 어른상어 python (0) | 2022.01.18 |
---|---|
[백준] 21924 도시건설 python (0) | 2022.01.18 |
[백준] 1072 게임 python (0) | 2022.01.17 |
[백준] 13022 늑대와 올바른 단어, python (0) | 2022.01.17 |
[백준] 5582 공통부분 문자열, python(pypy) (0) | 2022.01.17 |