개발자가 되

프로그래머스 Lv.0

Lv.0 마지막 두 원소

dltjdud 2025. 1. 26. 20:44

문제설명

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

 

입출력 예 설명

입출력 예 #1
마지막 원소인 6이 그전 원소인 1보다 크기 때문에 6 - 1인 5를 추가해 return합니다.

 

입출력 예 #2
마지막 원소인 5가 그전 원소인 7보다 크지 않기 때문에 5의 두 배인 10을 추가해 return합니다.

 

JAVA

class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = new int[num_list.length+1];

        for ( int i = 0; i < num_list.length; i++ ) {
            answer[i] = num_list[i];
        }

        if ( num_list[num_list.length-1] > num_list[num_list.length-2] ) {
            answer[num_list.length] = num_list[num_list.length-1] - num_list[num_list.length-2];
        } else answer[num_list.length] = num_list[num_list.length-1] * 2;

        return answer;
    }
}

 

Python

def solution(num_list):
    answer = num_list
    if num_list[-1] > num_list[-2]:
        answer.append(num_list[-1] - num_list[-2])
    else:
        answer.append(num_list[-1]*2)
    return answer

 

JS

function solution(num_list) {
    let lastIdx = num_list.length-1;

    if(num_list[lastIdx] > num_list[lastIdx-1]){
        num_list.push(num_list[lastIdx] - num_list[lastIdx-1])
    }else{
        num_list.push(num_list[lastIdx]*2)
    }

    return num_list;
}

* 한줄 코딩

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

'프로그래머스 Lv.0' 카테고리의 다른 글

Lv.0 수 조작하기 2  (0) 2025.01.28
Lv.0 수 조작하기 1  (0) 2025.01.28
Lv.0 이어 붙인 수  (0) 2025.01.26
Lv.0 주사위 게임 2  (0) 2025.01.25
Lv.0 원소들의 곱과 합  (0) 2025.01.25