정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요.
function solution(num_list) {
var answer = [];
const length = num_list.length
let last_el = 0
if(num_list[length-1] > num_list[length-2]){
last_el = num_list[length-1] - num_list[length-2]
}else{
last_el = num_list[length-1]*2
}
answer.push(...num_list,last_el)
return answer;
}
고민 좀 들어갔지만 구현이 어려운 건 아니었다.
다른 분 코드 중 신박한 코드가 있었는데 구조분해 할당을 이용해 마지막 원소와 그 전 원소를 구한 뒤 간단히 해결하여서 인상깊었다.
//다른사람의 코드
function solution(num_list) {
const [a, b] = [...num_list].reverse(); //여기를 slice(-2) 할수도.
return [...num_list, a > b ? (a-b):a*2];
}
암튼 나는 근본있게 풀었다.ㅇ