Coding test/programmers - source

[golang] Leetcode 66. Plus One

engine 2021. 11. 17. 17:45
 

정수 배열로 표시 되는 큰 정수 가 주어집니다. digits여기서 각각 digits[i]은 정수  자릿수입니다. 숫자는 왼쪽에서 오른쪽 순서로 최상위에서 최하위 순으로 정렬됩니다. 큰 정수에는 선행 's가 포함되어 있지 않습니다 .

큰 정수를 1씩 증가시키고 결과 배열을 반환 합니다 .

 

예 1:

입력: 숫자 = [1,2,3]
 출력: [1,2,4]
 설명: 배열은 정수 123을 나타냅니다.
1씩 증가하면 123 + 1 = 124가 됩니다.
따라서 결과는 [1,2,4]여야 합니다.

예 2:

입력: 숫자 = [4,3,2,1]
 출력: [4,3,2,2]
 설명: 배열은 정수 4321을 나타냅니다.
1씩 증가하면 4321 + 1 = 4322가 됩니다.
따라서 결과는 [4,3,2,2]여야 합니다.

예 3:

입력: 숫자 = [0]
 출력: [1]
 설명: 배열은 정수 0을 나타냅니다.
1씩 증가하면 0 + 1 = 1이 됩니다.
따라서 결과는 [1]이어야 합니다.

예 4:

입력: 숫자 = [9]
 출력: [1,0]
 설명: 배열은 정수 9를 나타냅니다.
1씩 증가하면 9 + 1 = 10이 됩니다.
따라서 결과는 [1,0]이어야 합니다.

 

제약:

  • 1 <= digits.length <= 100
  • 0 <= digits[i] <= 9
  • digits선행 0's를 포함하지 않습니다 .

https://leetcode.com/problems/plus-one/

 

Plus One - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

기본 코드

func plusOne(digits []int) []int {
    
}

 

문제풀이

func plusOne(digits []int) []int {
    plu := 1
    for i:=len(digits)-1;i>=0;i-- {
        if digits[i] + plu > 9 {
            digits[i] = 0
        } else {
            digits[i] = digits[i] + plu
            plu = 0
            break
        }
    }
    
    if plu==1 {
        return append([]int{1},digits...)
    }
    return digits
    
}