문제
https://school.programmers.co.kr/learn/courses/30/lessons/181897
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
코드(Java)
import java.util.*;
class Solution {
public int[] solution(int n, int[] slicer, int[] num_list) {
int start = 0, end = num_list.length - 1, step = 1;
switch (n) {
case 1:
end = slicer[1];
break;
case 2:
start = slicer[0];
break;
case 3:
start = slicer[0];
end = slicer[1];
break;
case 4:
start = slicer[0];
end = slicer[1];
step = slicer[2];
break;
}
int size = (end - start) / step + 1;
int[] answer = new int[size];
int idx = 0;
for (int i = start; i <= end; i += step) {
answer[idx++] = num_list[i];
}
return answer;
}
}
코드(Python)
def solution(n, slicer, num_list):
if n == 1:
return num_list[:slicer[1]+1]
elif n == 2:
return num_list[slicer[0]:]
elif n == 3:
return num_list[slicer[0]:slicer[1]+1]
else:
return num_list[slicer[0]:slicer[1]+1:slicer[2]]
728x90