본문 바로가기
Algorithm/Programmers

[Programmers] Lv.0 / 리스트 자르기 / Java

by unknownomad 2023. 12. 4.

문제

 

풀이

import java.util.*;

class Solution {
    public int[] solution(int n, int[] slicer, int[] num_list) {
        
        List<Integer> list = new ArrayList<>();
        int a = slicer[0];
        int b = slicer[1];
        int c = slicer[2];
        
        if(n == 1) {
            for(int i = 0; i < b + 1; i++) {
                list.add(num_list[i]);
            }
        } else if(n == 2) {
            for(int i = a; i< num_list.length; i++) {
                list.add(num_list[i]);
            }
        } else if(n == 3) {
            for(int i = a; i < b + 1; i++) {
                list.add(num_list[i]);
            }
        } else if(n == 4) {
            for(int i = a; i < b + 1; i += c) {
                list.add(num_list[i]);
            }
        }
        int[] answer = list.stream().mapToInt(x -> x).toArray();
        return answer;
    }
}
class Solution {
    public int[] solution(int n, int[] slicer, int[] num_list) {
        
        int start = n == 1 ? 0 : slicer[0];
        int end = n == 2 ? num_list.length - 1 : slicer[1];
        int step = n == 4 ? slicer[2] : 1;
        int[] answer = new int[(end - start + step) / step];
        
        for (int i = start, j = 0; i <= end; i += step) {
            answer[j++] = num_list[i];
        }
        return answer;
    }
}

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/181897

댓글