더북(TheBook)

문제 풀이

처음에는 Level 1 정도의 쉬운 난이도로 진법 변환 개념에 익숙해지는 시간을 갖겠습니다. 우선 주어진 자연수(10진수)를 3진법으로 변환해야 하는데, 흔히 사용하는 진법이 아닙니다. 직접 진수 변환 코드를 작성해야 합니다. 4.1.1절에서 설명했던 코드를 다시 가지고 오겠습니다.

def radixChange(num, radix):
    if num == 0: return '0'
    nums = []
    while num:
        num, digit = divmod(num, radix)
        nums.append(str(digit))
    return ''.join(reversed(nums))

진수 변환 코드를 만들 수 있다면 나머지는 정말 쉽습니다. 3진수로 변환한 다음 변환된 문자열을 뒤집고, int 함수를 통해 10진수로 다시 변환하기만 하면 됩니다.

 

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.