숫자의 10진수를 포함하는 num이라는 배열이 있다고 가정합니다. 예를 들어, [2, 5, 6]은 256입니다. 이 숫자에 1을 더하고 이전과 같은 형식으로 목록을 반환해야 합니다.
따라서 입력이 nums =[2, 6, 9]와 같으면 출력은 [2, 7, 0]이 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
i :=숫자 크기 - 1
-
i>=0인 동안 수행
-
nums[i] + 1 <=9이면
-
숫자[i] :=숫자[i] + 1
-
루프에서 나오다
-
-
그렇지 않으면
-
숫자[i] :=0
-
나는 :=나는 - 1
-
-
-
i <0이면
-
위치 0의 숫자에 1 삽입
-
-
숫자 반환
예시
더 나은 이해를 위해 다음 구현을 살펴보겠습니다.
def solve(nums): i = len(nums) - 1 while i >= 0: if nums[i] + 1 <= 9: nums[i] = nums[i] + 1 break else: nums[i] = 0 i -= 1 if i < 0: nums.insert(0, 1) return nums nums = [2, 6, 9] print(solve(nums))
입력
[2, 6, 9]
출력
[2, 7, 0]