ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 11005번 진법 변환2
    백준 코딩테스트 2024. 11. 2. 22:39

    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 복사

    60466175 36
    

    예제 출력 1 복사

    ZZZZZ

     

    n, b = map(int, input().split())

    answer = ''
    while n > 0:
        remainder = n % b
        if remainder >= 10:
            # 숫자 10 이상인 경우 알파벳을 추가 ('A'가 10에 대응)
            answer += chr(remainder - 10 + ord('A'))
        else:
            answer += str(remainder)
        n //= b

    print(answer[::-1])

     

    다음과 같이 10 이상이면 chr(remainder - 10 + ord('A')) 을 추가한다.

    '백준 코딩테스트' 카테고리의 다른 글

    2903번 중앙 이동 알고리즘  (1) 2024.11.07
    2720번 세탁소 사장 동혁  (0) 2024.11.06
    2745번 진법 변환  (1) 2024.11.02
    2563번 색종이  (2) 2024.10.30
    10798번 세로읽기  (0) 2024.10.30
Designed by Tistory.