코린이의 소소한 공부노트

[LeetCode/Easy] 66. Plus One 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 66. Plus One

무지맘 2023. 1. 12. 23:27

1. Input

1) 정수 배열 digits

 

2. Output

1) digits가 나타내는 숫자에 1을 더한 숫자를 배열로 표현한 결과

- digits가 나타내는 숫자가 매우 클 수도 있다.

 

3. Constraint

1) 1 <= digits.length <= 100

2) 0 <= digits[i] <= 9

 

4. Example

Input: digits = [4,3,2,1] -> Output: [4,3,2,2]

Input: digits = [9] -> Output: [1,0]

 

5. Code

1) 첫 코드(2023/01/12)

import java.util.*;

Stack<Integer> s = new Stack<Integer>();
digits[digits.length-1]++;
boolean carry = digits[digits.length-1]>=10 ? true : false;
s.push(digits[digits.length-1]%10);

for(int i=digits.length-2 ; i>=0 ; i--){
    if(carry) digits[i]++;
    carry = digits[i]>=10 ? true : false;
    s.push(digits[i]%10);
}
if(carry) s.push(1);

int[] answer = new int[s.size()];
for(int i=0 ; i<answer.length ; i++){
    answer[i] = s.pop();
}
return answer;