48-2. 마지막 두 원소

박은서's avatar
Jan 17, 2026
48-2. 마지막 두 원소
2026.01.17(SAT)_48일차

1. 문제

문제 설명

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

2. 풀이

class Solution { public int[] solution(int[] num_list) { int leng = num_list.length; int[] answer = new int[leng + 1]; for (int i = 0; i < leng; i++) { answer[i] = num_list[i]; } answer[answer.length-1] = (num_list[leng-1] > num_list[leng-2]) ? num_list[leng-1] - num_list[leng-2] : num_list[leng-1]*2; return answer; } }

3. 다른 사람의 풀이

import java.util.stream.IntStream; class Solution { public int[] solution(int[] num_list) { return IntStream.iterate(0, i -> i + 1) .limit(num_list.length + 1) .map(i -> i == num_list.length ? (num_list[i - 1] > num_list[i - 2] ? num_list[i - 1] - num_list[i - 2] : 2 * num_list[i - 1]) : num_list[i]) .toArray(); } }
 
Share article