문제 설명
정수 리스트 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] |
class Solution {
public int[] solution(int[] num_list) {
int[] answer = new int[num_list.length + 1];
int last = 0;
if (num_list[num_list.length - 1] > num_list[num_list.length - 2]) {
last = num_list[num_list.length - 1] - num_list[num_list.length - 2];
} else {
last = num_list[num_list.length - 1] * 2;
}
for (int i = 0; i < num_list.length; i++) {
answer[i] = num_list[i];
}
answer[answer.length - 1] = last;
return answer;
}
}
answer 배열을 생성합니다. num_list 배열의 마지막 원소의 값을 조건에 맞게 계산한 값인 원소를 추가해야하므로, num_list의 길이에서 한 자리를 추가합니다. 마지막 원소가 될 last 변수를 생성합니다.
만약 num_list의 마지막 원소가 그전 원소보다 크다면 last에 마지막 원소에서 그전 원소를 뺀 값을 할당합니다. 조건을 충족하지 못하면, last에 마지막 원소를 두 배한 값을 할당합니다.
for문이 num_list만큼 순회합니다. answer의 i번째 인덱스에 num_list의 [i]번째 인덱스를 할당합니다. 배열을 복사한 것입니다. answer의 마지막 원소 자리에는 앞선 if문에서 구한 last 변수 값을 할당합니다.
'프로그래머스 > Lv. 0(코딩 기초 트레이닝)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 간단한 논리 연산(Java) (0) | 2023.05.06 |
---|---|
[프로그래머스 코딩테스트] 콜라츠 수열 만들기(Java) (0) | 2023.05.06 |
[프로그래머스 코딩테스트] 수 조작하기 1(Java) (0) | 2023.05.05 |
[프로그래머스 코딩테스트] 이어 붙인 수(Java) (0) | 2023.05.05 |
[프로그래머스 코딩테스트] 주사위 게임 2(Java) (0) | 2023.05.05 |