Description

Given an integer num, return a string of its base 7 representation.

Example 1:

  • Input: num = 100
  • Output: “202”

Example 2:

  • Input: num = -7
  • Output: “-10”

Constraints:

  • -107 <= num <= 107

Submitted Code

import numpy as np

class Solution(object):
    def convertToBase7(self, num):
        """
        :type num: int
        :rtype: str
        """
        base7 = np.base_repr(num, base=7)
        return base7

Runtime: 0 ms | Beats 100.00%
Memory: 23.35 MB | Beats 1.31%

파이썬 numpy 라이브러리의 기능을 이용할 수 있다.

Other Solutions

1st

class Solution:
    def convertToBase7(self, num: int) -> str:
        if num == 0:
            return "0"
        sign = "-" if num < 0 else ""   # 음수 표시
        num = abs(num)                  # 절대값
        digits = []
        while num:
            digits.append(str(num%7))
            num //= 7
        return sign + "".join(digits[::-1])

time complexity: 𝑂(log7𝑛) ← n = abs(num)
space complexity: 𝑂(1)

숫자를 7로 나누고 나머지를 구하는 과정을 반복하면 된다. 반복문에서는 절대값을 사용하고 num이 음수일 경우 - 기호를 나중에 붙여주면 된다.

Leave a comment