정수 리스트 num_list
가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요.
제한사항
num_list
의 길이 ≤ 10num_list
의 원소 ≤ 9num_list.length
보다 원소의 갯수가 하나 더 많은 int
배열 answer
를 만들고, for문을 이용해 num_list
의 원소를 그대로 받아왔다.last
, lastb
라는 변수에 할당한다.answer
의 길이가 i라고 할 경우 배열 answer
의 원소는 answer[0]부터 answer[i-1]까지 있다.class Solution {
public int[] solution(int[] num_list) {
int[] answer = new int[num_list.length+1];
int last = num_list[num_list.length - 1]; // 마지막 원소
int lastb = num_list[num_list.length - 2]; // 마지막 원소에서 그 전 원소
for(int i=0; i<num_list.length; i++){
answer[i] = num_list[i];
}
if (last > lastb) {
answer[num_list.length] = last - lastb;
} else {
answer[num_list.length] = last * 2;
}
return answer;
}
}
다른 사람의 코드를 참고하니 ArrayList
를 사용하면 add()
메소드를 통해 쉽게 원소를 추가할 수 있었다.
import java.util.*;
class Solution {
public List solution(int[] num_list) {
List<Integer> answer = new ArrayList<>();
int last = num_list[num_list.length - 1]; // 마지막 원소
int lastb = num_list[num_list.length - 2]; // 마지막 원소에서 그 전 원소
for(int i = 0; i < num_list.length; i++){
answer.add(num_list[i]);
}
if(last > lastb){
answer.add(last - lastb);
} else {
answer.add(last * 2);
}
return answer;
}
}