Leetcode Java Add to Array-Form of Integer
업데이트:
문제
코드
class Solution {
public List<Integer> addToArrayForm(int[] num, int k) {
LinkedList<Integer> result = new LinkedList<>();
int length = num.length - 1;
while (length >= 0 || k != 0) {
if (length >= 0) {
k += num[length--];
}
result.addFirst(k % 10);
k /= 10;
}
return result;
}
}
결과
설명
-
숫자로 이루어진 배열인 num을 이은 숫자와 k의 합을 한 숫자씩 잘라 반환하는 문제이다.
- 문제 풀이에 필요한 변수이다.
- result는 결과를 한 숫자씩 이어 저장할 변수로, 값을 앞으로 넣어주기 위해 LinkedList로 초기화한다.
- length는 num의 길이를 저장한 변수이다.
- length가 0 이상이거나 k가 0이 아닐 때 까지 아래를 반복한다.
- length가 0 이상인 경우, k에 num[length] 값을 더해주고 length를 감소시킨다.
- result의 맨 앞에 k를 10으로 나누었을 때 나머지 값을, k에 몫 값을 넣어준다.
- 반복이 완료되면 두 값을 더해서 숫자 하나씩 저장된 result를 주어진 문제의 결과로 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기