Algorithm/BOJ

[백준] 11005 진법 변환 2 (파이썬 python)

YOONJELLY 2022. 1. 25. 22:33

 

 

문제 링크

 

 

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

 

11005번: 진법 변환 2

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

www.acmicpc.net

 

 

문제

 

 

 

 

 

문제 풀이

 

 

진법 변환 과정이 갑자기 기억이 안나서 헤맸다..ㅋㅋㅋ

B진법으로 변환하려면 10진수 N을 숫자 B로 나머지가 0이 될 때까지

계속 나누어 나온 나머지를 저장하고 그 저장된 나머지를 반대로 표현하면 변환이 완료된 것이다.

이것을 코드로 표현하면 문제 풀이는 끝난다.

또 한가지 주의할 점은 10부터 35까지는 숫자 표현이 불가능하므로

미리 문자열에 알파벳을 저장해두어야 한다.

 

 

N, B = map(int, input().split())
table = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
result = ""
while N != 0:
    result += table[N % B]
    N //= B
print(result[::-1])