반응형
import java.util.*;
class Solution {
public int[] solution(int n, int[] slicer, int[] num_list) {
int a = slicer[0];
int b = slicer[1];
int c = slicer[2];
if (n == 1)
return Arrays.copyOfRange(num_list, 0, b + 1);
if (n == 2)
return Arrays.copyOfRange(num_list, a, num_list.length);
if (n == 3)
return Arrays.copyOfRange(num_list, a, b + 1);
if (n == 4) {
List<Integer> result = new ArrayList<>();
for (int i = a; i < b + 1; i += c) {
result.add(num_list[i]);
}
int[] answer = new int[result.size()];
for (int i = 0; i < result.size(); i++) {
answer[i] = result.get(i);
}
return answer;
}
return num_list;
}
}
풀이방법 :
n에 따라 리스트를 자르는 방법이 다르므로 if문을 통해서 n에 따라서
num_list 를 각각 다르게 반환해준다.
여기서 n이 1,2,3일때는 0또는 a부터 b+1 또는 끝 배열까지의 값을 구해주는
Arrays.copyOfRange 문법을 통해서 바로 구해줄 수 있지만
c 간격으로 배열을 만들어주어야 하는 n=4 경우에는
List를 생성하여 그 값을 배열에 담아서 리턴해주어야한다.
반응형