마지막 두 원소

Programmers 코딩 기초 트레이닝


문제 설명

정수 리스트 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합니다.


import java.util.List;
import java.util.ArrayList;

class Solution {
    public List solution(int[] num_list) {
        //마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을
        List<Integer> arr = new ArrayList<>();
        for(int i = 0 ; i < num_list.length; i++){
            arr.add(num_list[i]);
        }
        int lastIdx = num_list.length - 1;
        
        if(num_list[lastIdx] > num_list[lastIdx-1]){
            arr.add(num_list[lastIdx] - num_list[lastIdx-1]);
        }else {
            arr.add((num_list[lastIdx]*2));
        }
        //마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return
      
        return arr;
    }
}

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

Leave a comment