마지막 두 원소

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

마지막 두 원소Lv.0

181927

https://school.programmers.co.kr/learn/courses/30/lessons/181927

해설

num_list를 기반으로 새로운 값을 계산하고, 그 값을 배열에 추가한 뒤 반환합니다.

  • Name
    const lastIdx = num_list.length - 1;
    Type
    Description

    주어진 배열의 마지막 요소의 인덱스를 계산하여 lastIdx 변수에 저장합니다.

  • Name
    const lastNum = num_list[lastIdx];
    Type
    Description

    주어진 배열의 마지막 요소를 lastNum 변수에 저장합니다.

  • Name
    const prevNum = num_list[lastIdx - 1]
    Type
    Description

    마지막 요소의 바로 이전 요소의 값을 prevNum 변수에 저장합니다.

  • Name
    const newValue = lastNum > prevNum ? lastNum - prevNum : lastNum * 2;
    Type
    Description
    • 조건 연산자(? :)를 사용하여 새로운 값을 계산합니다.
    • 만약 마지막 요소(lastNum)가 이전 요소(prevNum)보다 크다면 둘의 차이를 newValue로 설정합니다.
    • 그렇지 않으면 마지막 요소를 2배한 값을 newValue로 설정합니다.
  • Name
    return [...num_list, newValue];
    Type
    Description

    주어진 배열(num_list)의 모든 요소와 새로 계산한 newValue를 포함한 새로운 배열을 반환합니다.

마지막 두 원소

function solution(num_list) {
    const lastIdx = num_list.length - 1;
    const lastNum = num_list[lastIdx];
    const prevNum = num_list[lastIdx - 1];

    const newValue = lastNum > prevNum ? lastNum - prevNum : lastNum * 2;
    return [...num_list, newValue];
}