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를 포함하지 않습니다 .
기본 코드
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
}