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

Python에서 3진수에서 정수로


3진법(유효한 숫자 0, 1 또는 2)의 숫자를 나타내는 문자열 s가 있다고 가정하면 해당하는 10진수 정수를 찾아야 합니다.

따라서 입력이 "10122"와 같으면 출력은 98이 됩니다.

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

  • 답변 :=0

  • s의 각 숫자 c에 대해

    • ans :=3 * ans + c

  • 반환

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

class Solution:
   def solve(self, s):
      ans = 0
      for c in map(int, s):
         ans = 3 * ans + c
      return ans
ob = Solution()
print(ob.solve("10122"))

입력

"10122"

출력

98