
- 티어 : Bronze 1
- 정답여부 :
정답- 알고리즘 유형 :
수학,구현,문자열- 시간 제한 :
0.5초
10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오.
10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다.
A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35
첫째 줄에 N과 B가 주어진다. (2 ≤ B ≤ 36) N은 10억보다 작거나 같은 자연수이다.
첫째 줄에 10진법 수 N을 B진법으로 출력한다.
60466175 36
ZZZZZ
진법 변환의 반대문제로 10진법 수 N을 B진법으로 나타내는 방법
10진수에는 함수 int( )가 있어서 코드를 설계가 굳이 필요 없었지만 이번에는 필요하다 진법 변환에 핵심을 파악만 하면 되는 문제
1. B진법 변환 - > 더 안나줘질 때가지 B로 계속 나누어 나머지를 저장
2. N를 B로 나눈 나머지의 자리에 위치한 값을 계속 가지고 오며
3. 남은 걸로 계속 나누어 s에 넣고 반복
4. 그리고 몫들의 순서 거꾸로 뒤집어서 출력을 하면 되는 문제
pythonN, B = map(int, input().split()) s = '' arr = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" while N: s += str(arr[N%B]) N //= B print(s[::-1])
없음.
없음.
진법변환에 대해 공부를 하는 문제!