BOJ11005 - 진법 변환2

CYSSSSSSSSS·2023년 6월 27일

알고리즘

목록 보기
66/83

문제11005

문제

-10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오.

해결

  • string 라이브러리에는 digits(숫자) 옵션과 ascii_uppercase(대문자)를 사용하면 문자열 데이터를 만들수 있다.

  • 해당 문자열을 토대로 재귀함수를 만들어서 해당 수를 tmp 에서 반환하여 더해주면 된다 (문자열 이기 떄문에)

      import string
      
     def convert(num, base):
         q, r = divmod(num, base)
         if q == 0:
             return tmp[r]
         else:
             return convert(q, base) + tmp[r]
    
     tmp = string.digits + string.ascii_uppercase
    
     n, b = map(int, input().split())
    
     print(convert(n, b))
    
profile
개발자 되고 싶어요

0개의 댓글