-
[백준] 11005번 진법 변환2 (python)[백준 Baekjoon]/[Python] 2024. 1. 23. 19:58
문제
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. N과 B를 정수형으로 받는다.
2. N을 B진법으로 변환한 수를 받는 빈 문자열을 생성한다
3. [0-Z]까지의 수가 들어있는 문자열을 생성한다
4. N을 B로 나누는데, N이 0이 될 때 까지 초기화해준다
5. 초기화 될 때마다의 나머지를 빈 문자열에 추가해준다.
6. 빈 문자열을 뒤집어서 출력한다.
코드
N, B = map(int, input().split())s = ''arr = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
while N:s += arr[N%B]N //= B
print(s[::-1])'[백준 Baekjoon] > [Python]' 카테고리의 다른 글
[백준] 2903번 (python) (0) 2024.01.26 [백준] 2720번 (python) (0) 2024.01.24 [백준] 2566번 최댓값 (python) (2) 2024.01.22 [백준] 2738번 행렬 덧셈 (python) (0) 2024.01.22 [백준] 2745번 진법 변환 (python) (0) 2024.01.22