Plus One

Updated:

구현 문제이다. 맨끝에 한 숫자를 더한다음에, 새로운 배열의 결과를 반환해줘야 하는문제이다.

올림수가 발생해서, 자릿수가 한자리 증가할수 있기 때문에 주의해야한다

by Java

class Solution {
    public int[] plusOne(int[] digits) {
        digits[digits.length-1]++;
        List<Integer> list = new ArrayList<>();
        int carry=0;
        for(int i=digits.length-1;i>=0;i--) {
            int num = digits[i];
            int newnum = num+carry;
            if(newnum>=10) {
                newnum-=10;
                carry=1;
                list.add(newnum);
            }
            else {
                list.add(newnum);
                carry=0;
            }
        }
        if(carry==1) list.add(carry);
        int[] arr = new int[list.size()];
        int idx=0;
        for(int i=list.size()-1;i>=0;i--) {
            arr[idx++] = list.get(i);
        }
        return arr;
    }
}

Leave a comment