아무리 쉬운 코드도 리뷰 합니다.
문제 설명
정수 리스트 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합니다.
----------------------------------------------------------------------------------
class Solution {
public int[] solution(int[] num_list) {
int length = num_list.length;
int lastElement = num_list[length - 1];
int secondLastElement = num_list[length - 2];
int[] answer = new int[length + 1];
// 기존 배열 요소들을 복사
System.arraycopy(num_list, 0, answer, 0, length);
// 조건에 따라 새로운 요소 추가
if (lastElement > secondLastElement) {
answer[length] = lastElement - secondLastElement;
} else {
answer[length] = lastElement * 2;
}
return answer;
}
}
설명
- length 변수를 사용하여 입력 배열의 길이를 저장합니다.
- lastElement와 secondLastElement 변수에 각각 마지막 원소와 그 전 원소를 저장합니다.
- 새로운 배열 answer를 기존 배열보다 하나 더 큰 크기로 초기화합니다.
- System.arraycopy 메서드를 사용하여 기존 배열의 요소를 answer 배열에 복사합니다.
- 조건문을 통해 두 원소를 비교하고, 각각의 경우에 맞는 값을 answer 배열의 마지막에 추가합니다.
- answer 배열을 반환합니다.
중요코드
- lastElement와 secondLastElement를 비교:
- lastElement가 더 크면 lastElement - secondLastElement 값을 추가하고,
- 그렇지 않으면 lastElement * 2 값을 추가합니다.
실행결과
정확성 테스트
테스트 1 〉 | 통과 (0.01ms, 78.6MB) |
테스트 2 〉 | 통과 (0.01ms, 71MB) |
테스트 3 〉 | 통과 (0.03ms, 75.4MB) |
테스트 4 〉 | 통과 (0.02ms, 74.4MB) |
테스트 5 〉 | 통과 (0.02ms, 76.1MB) |
테스트 6 〉 | 통과 (0.02ms, 74MB) |
테스트 7 〉 | 통과 (0.01ms, 71MB) |
테스트 8 〉 | 통과 (0.02ms, 76.3MB) |
테스트 9 〉 | 통과 (0.02ms, 75.6MB) |
테스트 10 〉 | 통과 (0.01ms, 71.7MB) |
테스트 11 〉 | 통과 (0.02ms, 78MB) |
테스트 12 〉 | 통과 (0.02ms, 77.2MB) |
테스트 13 〉 | 통과 (0.02ms, 79.3MB) |
테스트 14 〉 | 통과 (0.01ms, 72.6MB) |
테스트 15 〉 | 통과 (0.02ms, 73.8MB) |
테스트 16 〉 | 통과 (0.02ms, 77MB) |
테스트 17 〉 | 통과 (0.03ms, 69MB) |
테스트 18 〉 | 통과 (0.02ms, 75.9MB) |
테스트 19 〉 | 통과 (0.02ms, 83.3MB) |
테스트 20 〉 | 통과 (0.02ms, 74.7MB) |
채점 결과
정확성: 100.0
'ALGORITHM > 코딩 기초 트레이닝' 카테고리의 다른 글
[프로그래머스]분수의 덧셈 (0) | 2024.08.01 |
---|---|
[프로그래머스]이어 붙인 수 (0) | 2024.07.31 |
[프로그래머스]원소들의 곱과 합 (0) | 2024.07.31 |
[프로그래머스]주사위 게임 2 (0) | 2024.07.31 |
[ 프로그래머스]등차수열의 특정한 항만 더하기 (0) | 2024.07.30 |