문제 설명
정수 리스트 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 arrLength = num_list.length;
// 마지막에서 두 번째 원소 저장
int aheadNum = num_list[arrLength - 2];
// 마지막 원소 저장
int behindNum = num_list[arrLength - 1];
// 원본 배열을 길이가 1 더 긴 새로운 배열로 복사
int[] resultArray = Arrays.copyOf(num_list, arrLength + 1);
// 삼항 연산자를 사용하여 새로운 값을 계산하고 마지막 위치에 추가
// 조건: 마지막 원소가 그 전 원소보다 크면 두 수의 차이를 넣고,
// 그렇지 않으면 마지막 원소의 두 배를 넣음
resultArray[resultArray.length-1] = behindNum > aheadNum ? behindNum - aheadNum : behindNum * 2;
// 결과 배열 반환
return resultArray;
}
}
'코딩테스트 > 프로그래머스 | Lv. 0' 카테고리의 다른 글
[프로그래머스 | JAVA] 주사위 게임 1 (0) | 2024.12.03 |
---|---|
[프로그래머스 | JAVA] 원소들의 곱과 합 (0) | 2024.12.03 |
[프로그래머스 | JAVA] 수 조작하기1 (0) | 2024.12.03 |
[프로그래머스 | JAVA] 카운트 업 (0) | 2024.12.03 |
[프로그래머스 | JAVA] 글자 이어 붙여 문자열 만들기 (0) | 2024.12.03 |