코딩 테스트 (Java)/코딩 기초 트레이닝 (프로그래머스)

181927. 마지막 두 원소

가지코딩 2025. 4. 4. 12:46

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


문제

정수 리스트 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.Arrays;

class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = Arrays.copyOf(num_list, num_list.length + 1);
        int n = num_list.length;
        
        answer[n] = num_list[n-1] > num_list[n-2] ? num_list[n-1] - num_list[n-2] : num_list[n-1]*2;
        return answer;
    }
}

Arrays.copyOf(원본배열, 복사할 길이)

 

복사할 길이만큼 원본배열깊은 복사 된다.

 

 

 


GitHub: https://github.com/gajicoding/coding_test/edit/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/181927.%E2%80%85%EB%A7%88%EC%A7%80%EB%A7%89%E2%80%85%EB%91%90%E2%80%85%EC%9B%90%EC%86%8C

 

coding_test/프로그래머스/0/181927. 마지막 두 원소 at main · gajicoding/coding_test

This is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https://github.com/BaekjoonHub/BaekjoonHub). - gajicoding/coding_test

github.com


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

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr