n이라는 정수 목록이 있다고 가정하고 이것은 10진수를 나타내고 n[i]는 [0, 9] 사이입니다. 따라서 n이 [2, 4, 9]이면 숫자 249를 나타냅니다. 숫자에 1이 추가되도록 수정한 것을 제외하고 동일한 표현에서 동일한 목록을 찾아야 합니다.
따라서 입력이 n =[9,9]와 같으면 출력은 [1, 0, 0]
이 됩니다.이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
n :=n 시작 부분에 0 추가
-
n의 마지막 요소를 1만큼 증가
-
범위 크기가 n - 1에서 0인 i에 대해 1만큼 감소, 수행
-
n[i-1] :=n[i-1] + (n[i] / 10)의 몫
-
n[i] :=n[i] 모드 10
-
-
n[0]> 0이면 n을 반환하고 그렇지 않으면 인덱스 1에서 끝까지 n
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시
class Solution: def solve(self, n): n = [0] + n n[-1] += 1 for i in range(len(n) - 1, 0, -1): n[i-1] += n[i] // 10 n[i] = n[i] % 10 return n if n[0] > 0 else n[1:] ob = Solution() print(ob.solve([9,9]))
입력
[9,9]
출력
[1, 0, 0]