숫자 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