카테고리 없음

[프로그래머스] 리스트 자르기 (Java, Python)

garamdev 2025. 6. 25. 17:47

문제

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