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])