문제
내가 작성한 정답
// Array
import java.util.Arrays;
class Solution {
public int[] solution(int[] num_list) {
int[] answer = Arrays.copyOf(num_list,num_list.length+1);
int last = num_list.length-1;
int l = num_list[last], p = num_list[last-1];
answer[last+1] = l>p?l-p:2*l;
return answer;
}
}
// ArrayList
import java.util.ArrayList;
class Solution {
public int[] solution(int[] num_list) {
ArrayList<Integer> answer = new ArrayList<>();
for(int i : num_list){
answer.add(i);
}
int n = num_list.length, l = num_list[n-1], p = num_list[n-2];
answer.add(l > p? l-p : 2*l);
return answer.stream().mapToInt(i->i).toArray();
}
}다른 사람들의 정답
import java.util.stream.IntStream;
class Solution {
public int[] solution(int[] num_list) {
return IntStream.iterate(0, i -> i + 1)
.limit(num_list.length + 1)
.map(i -> i == num_list.length ? (num_list[i - 1] > num_list[i - 2] ? num_list[i - 1] - num_list[i - 2] : 2 * num_list[i - 1]) : num_list[i])
.toArray();
}
}Share article