배열을 변경해야하는 경우가 있어서 확실히 이런 경우는 파이썬이 편하다.
class Solution {
public int[] plusOne(int[] digits) {
int size =digits.length;
int idx = size - 1;
digits[idx] += 1;
while (idx >= 0) {
int val = digits[idx];
if(val >= 10) {
digits[idx] = 0;
if(idx == 0) {
int []result_list = new int[size + 1];
result_list[0] = 1;
for(int i=1; i<size; i++) {
result_list[i] = digits[i-1];
}
return result_list;
}
else{
digits[idx-1] += 1;
}
}
idx--;
}
return digits;
}
}
class Solution:
def plusOne(self, digits: List[int]) -> List[int]:
idx = len(digits) - 1
digits[idx] += 1
while idx >= 0:
val = digits[idx]
if val >= 10:
digits[idx] = 0
if idx == 0:
digits = [1] + digits
else:
digits[idx - 1] += 1
idx -= 1
return digits;