Coding Practice/프로그래머스 Lv.0
마지막 두 원소
ailen22
2024. 1. 26. 19:53
[문제]
정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요.
num_list | result |
[2, 1, 6] | [2, 1, 6, 5] |
[5, 2, 1, 7, 5] | [5, 2, 1, 7, 5, 10] |
[답]
class Solution {
public int[] solution(int[] num_list) {
//원래의 원소갯수보다 하나 더 늘려야함으로 +1 해줌
int[] answer = new int[num_list.length + 1];
int last = num_list[num_list.length - 1];
int last2 = num_list[num_list.length - 2];
for(int i = 0; i < num_list.length; i++) {
answer[i] = num_list[i];
if(last > last2) {
answer[num_list.length] = last - last2;
} else {
answer[num_list.length] = last * 2;
}
}
return answer;
}
}
[다른사람 풀이]
import java.util.*;
class Solution1 {
public List solution(int[] num_list) {
//ArrayList사용
List<Integer> answer = new ArrayList<>();
int last = num_list[num_list.length - 1];
int lastb = num_list[num_list.length - 2];
for(int i = 0; i < num_list.length; i++){
answer.add(num_list[i]);
}
if(last > lastb){
answer.add(last - lastb);
} else {
answer.add(last * 2);
}
return answer;
}
}