문자열 형식의 숫자 n이 있다고 가정합니다. 합이 n이 되도록 최소 십진수가 필요함을 찾아야 합니다. 10진수는 0 또는 1의 자릿수를 갖는 10진수입니다.
따라서 입력이 n ="132"와 같으면 132는 3개의 십진수(10 + 11 + 111)의 합이기 때문에 출력은 3이 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- 결과:=1
- n의 각 i에 대해 다음을 수행합니다.
- 내가 {0,1}에 없으면
- result :=결과의 최대값 및 i
- 내가 {0,1}에 없으면
- 반환 결과
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
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