[프로그래머스 | JS] Lv0. 마지막 두 원소

HICHULOG·2023년 7월 6일
0

프로그래머스

목록 보기
3/38
post-thumbnail

마지막 두 원소

📝 문제

정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요.

⛔️ 제한 사항

  • 2 ≤ num_list의 길이 ≤ 10
  • 1 ≤ num_list의 원소 ≤ 9

💡 풀이

function solution(num_list) {
    let l = num_list.length;
    if(num_list[l-1]>num_list[l-2]){
        num_list.push(num_list[l-1]-num_list[l-2])
    }else{
        num_list.push(num_list[l-1]*2)
    }
    return num_list;
}

✅ 다른 풀이

function solution(num_list) {
    const [a, b] = [...num_list].reverse();
    return [...num_list, a > b ? (a-b):a*2];
}

=> reverse()는 원본 배열을 변형하기 때문에 원본배열을 spread syntax(전개구문)을 이용해 배열을 복사(레벨1 깊이 복사). 복사한 배열을 reverse()를 이용해 순서를 반전 시키고 구조분해할당을 통해 a,b에 각각 마지막원소와 마지막이전원소를 할당했다.

🚀 TIL

profile
🚀 Front-end Dev

0개의 댓글