문제
내가 작성한 정답
import java.util.Arrays;
class Solution {
public int[] solution(int[] num_list) {
int len = num_list.length , l = num_list[len-1], b = num_list[len-2];
int[] answer = Arrays.copyOf(num_list,len+1);
answer[len] = l > b? l-b: 2*l;
return answer;
}
}다른 사람들의 정답
import java.util.stream.IntStream;
class Solution {
public int[] solution(int[] num_list) {
return IntStream.iterate(0, i -> i + 1) // 0부터 시작해 1씩 증가하는 무한한 IntStream 생성
.limit(num_list.length + 1) // num_list 길이 + 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