[11005] 백준 문제풀이 - 진법 변환 2

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

문제

10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오.

10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다.

A: 10, B: 11, …, F: 15, …, Y: 34, Z: 35

입력

첫째 줄에 N과 B가 주어진다. (2 ≤ B ≤ 36) N은 10억보다 작거나 같은 자연수이다.

출력

첫째 줄에 10진법 수 N을 B진법으로 출력한다.

풀이

1 풀이 오답 : result의 값을 뒤집어주지않음 2 풀이 오답 : result의 출력형태가 리스트로 출력됨 3 풀이 정답 : 두 개의 오답 수정

1
2
3
4
5
6
7
8
9
10
11
12
13
base = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
N, B = map(int, input().split(" "))

result = []
if N == 0:
    result.append(0)

while N > 0:
    result.append(base[N % B])
    N //= B

result = "".join(result)
print(result[::-1])

댓글남기기