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

Python에서 최소 수의 십진수로 분할하는 프로그램

<시간/>

문자열 형식의 숫자 n이 있다고 가정합니다. 합이 n이 되도록 최소 십진수가 필요함을 찾아야 합니다. 10진수는 0 또는 1의 자릿수를 갖는 10진수입니다.

따라서 입력이 n ="132"와 같으면 132는 3개의 십진수(10 + 11 + 111)의 합이기 때문에 출력은 3이 됩니다.

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

  • 결과:=1
  • n의 각 i에 대해 다음을 수행합니다.
    • 내가 {0,1}에 없으면
      • result :=결과의 최대값 및 i
  • 반환 결과

예시

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

def solve(n):
   result = 1
   for i in n:
      if i not in {0,1}:
         result = max(result, int(i))
   return result

n = "132"
print(solve(n))

입력

132

출력

3