문제 설명
정수 리스트 num_list와 정수 n이 주어질 때, n 번째 원소부터 마지막 원소까지의 모든 원소를 담은 리스트를 return 하도록 solution 함수를 완성해주세요.
제한사항
- 2 <= num_list의 길이 <= 30
- 1 <= num_list의 원소 <= 9
- 1 <= n <= num_list의 길이
입출력 예
num_list | n | result |
[2, 1, 6] | 3 | [6] |
[5, 2, 1, 7, 5] | 2 | [2, 1, 7, 5] |
class Solution {
public int[] solution(int[] num_list, int n) {
int[] answer = new int[num_list.length - n + 1];
int index = 0;
for (int i = n - 1; i < num_list.length; i++) {
answer[index++] = num_list[i];
}
return answer;
}
}
answer 배열을 생성합니다. num_list의 길이에서 n만큼 뺀 뒤 1을 더해줍니다. answer의 인덱스를 담을 index 변수도 생성합니다.
for문이 n - 1부터 시작합니다. 새 배열에는 n번째 원소부터 들어가야 하기 때문에 n, 배열의 인덱스는 0번부터 시작하기 때문에 - 1을 합니다. num_list의 길이만큼 순회합니다.
answer에 num_list의 i를 할당합니다. answer의 index가 1씩 증가하면서 배열에 num_list[i]가 차례대로 추가됩니다.
import java.util.Arrays;
class Solution {
public int[] solution(int[] num_list, int n) {
int[] answer = Arrays.copyOfRange(num_list, n - 1, num_list.length);
return answer;
}
}
두 코드는 동일한 결과를 반환합니다. 이번에는 Arrays 클래스의 copyOfRange 메소드를 이용했습니다. 식은 다음과 같습니다. 마찬가지로 인덱스는 0번부터 시작하므로, n - 1을 해야 올바른 결과를 도출할 수 있습니다.
Arrays.copyOfRange(복사할 배열, 시작 위치, 종료 위치) |
'프로그래머스 > Lv. 0(코딩 기초 트레이닝)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 홀수 vs 짝수(Java) (0) | 2023.04.30 |
---|---|
[프로그래머스 코딩테스트] n 번째 원소까지(java) (0) | 2023.04.30 |
[프로그래머스 코딩테스트] 첫 번째로 나오는 음수(Java) (0) | 2023.04.30 |
[프로그래머스 코딩테스트] 카운트 다운(Java) (0) | 2023.04.30 |
[프로그래머스 코딩테스트] 배열 만들기 1(Java) (0) | 2023.04.29 |