.Zzumbong

[leetCode/JS] 66. Plus One 본문

coding test/leetCode

[leetCode/JS] 66. Plus One

쭘봉 2026. 1. 2. 08:27

난이도 [ 😊 ] Easy

 

문제 설명 

You are given a large integer represented as an integer array digits, where each digits[i] is the ith digit of the integer. The digits are ordered from most significant to least significant in left-to-right order. The large integer does not contain any leading 0's. Increment the large integer by one and return the resulting array of digits.

 

입출력 예

Example 1:

Input: digits = [1,2,3]
Output: [1,2,4]
Explanation: The array represents the integer 123. Incrementing by one gives 123 + 1 = 124.
Thus, the result should be [1,2,4].

 

Example 2:

Input: digits = [4,3,2,1]
Output: [4,3,2,2]
Explanation: The array represents the integer 4321. Incrementing by one gives 4321 + 1 = 4322.
Thus, the result should be [4,3,2,2].

 

Example 3:

Input: digits = [9]
Output: [1,0]
Explanation: The array represents the integer 9. Incrementing by one gives 9 + 1 = 10.
Thus, the result should be [1,0].

 

Constraints

  • 1 <= digits.length <= 100
  • 0 <= digits[i] <= 9
  • digits does not contain any leading 0's.

 

 

 


내 솔루션

/**
 * https://leetcode.com/problems/plus-one
 * @param {number[]} digits
 * @return {number[]}
 */
var plusOne = function (digits) {
    for (let i = digits.length - 1; i >= 0; i--) {
        digits[i]++;

        if (digits[i] < 10) {
            return digits;
        }
        digits[i] = 0;
    }
    digits.unshift(1);
    return digits;
};

 

감상평

  • 처음엔 reduce로 모든 배열을 더해서 숫자 -> 스트링으로 변경 후 -> 다시 배열 변경 하려고 했는데 숫자가 100 자리 이상이라 오류가 났음.
  • 배열을 직접 건들이는 방식으로 해결.

 

Comments