마지막 두 원소

남예지·2024년 1월 27일
0

미코

목록 보기
15/37

문제

정수 리스트 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];
}

암튼 나는 근본있게 풀었다.ㅇ

profile
총총

0개의 댓글