본문 바로가기
코딩테스트/자바 Level 0

[Java] 마지막 두 원소

by onggury 2023. 7. 29.

문제

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

 

 

제한사항

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

 

class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = new int[num_list.length+1];
        int num_list_len = num_list.length;
        
        System.arraycopy(num_list, 0, answer, 0, num_list_len);
        
        int last1 = answer[num_list_len-1];
        int last2 = answer[num_list_len-2];
        if(last1 > last2) {
            answer[num_list_len] = last1 - last2;
        }
        else if(last1 <= last2) {
            answer[num_list_len] = last1 * 2;
        }
        
        return answer;
    }
}

원본 배열 num_list 를 건들이고싶지 않아서 answer에다 깊은 복사를 하였다.

 

 

출처

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