정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요.
2 ≤ num_list의 길이 ≤ 10
1 ≤ num_list의 원소 ≤ 9
num_list result
[2, 1, 6] [2, 1, 6, 5]
[5, 2, 1, 7, 5] [5, 2, 1, 7, 5, 10]
잘 풀리긴 하지만 가독성이 별로 좋지 않다.
function solution(num_list) {
let lastIdx = num_list.length-1;
num_list[lastIdx] > num_list[lastIdx-1] ? num_list.push(num_list[lastIdx]-num_list[lastIdx-1]) : num_list.push(num_list[lastIdx]*2);
return num_list;
}
배열을 뒤집어서 맨 앞의 두 원소를 a, b로 저장(실제로는 a가 마지막 원소, b가 마지막 바로 전 원소)
기존 배열과 뒷 부분을 합쳐준다.
function solution(num_list) {
const [a, b] = [...num_list].reverse();
return [...num_list, a > b ? (a-b):a*2];
}