더북(TheBook)

전체 코드

4장/3진법_뒤집기.py

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))

def solution(n):
    return int(radixChange(n, 3)[::-1], 3)

입력받은 숫자를 3진수로 변환한 다음, 변환된 문자열을 역으로 뒤집고, 다시 10진수로 변환하면 됩니다. 10진수에서 n진수로 변환할 때 진법 변환 코드가 필요하지만, 반대로 n진수에서 10진수로 변환할 때는 매우 쉽습니다. 그저 int(<진법이 있는 문자열>, <n진법>)으로 쓰기만 하면 알아서 10진수로 변환해줍니다. 이런 기능들은 잘 외워두세요.

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