Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 정수에서 3진수로

<시간/>

숫자 n이 있다고 가정하고 이 숫자에 해당하는 밑수 3을 문자열로 찾아야 합니다.

따라서 입력이 17과 같으면 출력은 122가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • n<0:
      인 경우
    • 기호 :=-1
  • 그렇지 않으면 부호 :=공백 문자열
  • n :=|n|
  • n <3이면
    • n을 문자열로 반환
  • :=빈 문자열
  • n이 0과 같지 않은 동안 do
    • s :=(n mod 3) 연결 s의 문자열
    • n :=(n / 3)의 몫
  • 반환 기호 연결 s

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시

class Solution:
   def solve(self, n):
      sign = '-' if n<0 else ''
      n = abs(n)
      if n < 3:
         return str(n)
         s = ''
      while n != 0:
         s = str(n%3) + s
         n = n//3
      return sign+s
ob = Solution()
print(ob.solve(17))

입력

17

출력

122