728x90
문제
문제 보러가기
네이버
네이버 메인에서 다양한 정보와 유용한 컨텐츠를 만나 보세요
www.naver.com
입출력
입력 | 10진법 수 | 진법 |
출력 | 10진법 수를 진법으로 변환한 수 |
풀이
num, b = map(int, input().split())
answer = ''
while(num > 0):
num, mod = divmod(num, b)
if mod > 9:
mod = chr(mod+55)
else: mod = str(mod)
answer += mod
print(answer[::-1])
1) 10진법으로 표현된 수 num, 사용할 진법 b를 입력 받는다.
2) num을 b로 0이 될때까지 나눈다.
3) 나머지가 10이상이라면 이를 문자로 변환한다. (변환 A:10 ~ Z:35)
3.1) 문자로 변환하기 위해 현재 숫자에 55를 더해 아스키코드로 변환한다.
4) 나머지들을 이어 붙인다.
5) 진법은 오른쪽 부터 읽기 때문에 이어 붙인 나머지를 역순으로 출력한다.
728x90
'CODING TEST > Beakjoon' 카테고리의 다른 글
[백준 / 파이썬 /2903] 중앙 이동 알고리즘 (1) | 2023.10.30 |
---|---|
[백준 / 파이썬 / 2869] 달팽이는 올라가고 싶다 (1) | 2023.10.30 |
[백준 / 파이썬 / 2720] 세탁소 사장 동혁 (파이썬 잔돈, 거스름돈 계산) (0) | 2023.10.27 |
[백준 / 파이썬 / 2745] 진법 변환 (0) | 2023.10.27 |
[백준 / python / 10798] 세로읽기 (1) | 2023.10.24 |