1. 문제 설명
2. 풀이 과정
십진수 N과 B진법을 입력받으므로 map(int,input().split())로 입력을 불러온다.
alpha에 숫자에 맞는 알파벳을 연결해야 하므로 숫자의 범위는 range(10,36)으로 i에 불러오고
알파벳은 chr(i+ord('A')-10)으로 불러온다.
결과를 넣은 result를 빈 문자열로 초기화한다.
N>0 조건을 반복하게 while문을 작성한다.
나머지를 remainder에 N%B로 계산해 넣는다.
remainder가 10보다 작으면 remainder를 str()로 문자변환하여 result에 추가한다.
10보다 크면 alpha[remainder]으로 알파벳을 result에 추가한다.
+으로 하는 이유는 역순으로 문자가 저장되어야 하기 때문이다.
N을 몫으로 N//B 계산하여 초기화하고 반복문을 진행한다.
while문을 빠져나오면 result를 출력한다.
3. 코드
N,B = map(int,input().split())
alpha = {i:chr(i + ord('A')-10) for i in range(10,36)}
result = ''
while N > 0:
remainder = N % B
if remainder<10:
result = str(remainder) + result
else:
result = alpha[remainder] + result
N = N // B
print(result)
'Baekjoon > 단계별로 풀어보기' 카테고리의 다른 글
[백준][8단계 일반 수학 1] 2903번 /중앙 이동 알고리즘 (파이썬/Python) (0) | 2025.03.29 |
---|---|
[백준][8단계 일반 수학 1] 2720번 /세탁소 사장 동혁 (파이썬/Python) (0) | 2025.03.29 |
[백준][8단계 일반 수학 1] 2745번 /진법 변환 (파이썬/Python) (0) | 2025.03.28 |
[백준][7단계 2차원 배열] 2563번 /색종이 (파이썬/Python) (0) | 2025.03.27 |
[백준][7단계 2차원 배열] 10798번 /세로읽기 (파이썬/Python) (0) | 2025.03.27 |