Post

[Programmers] #120833 - 배열 자르기 [Java][C++][Python]

정수 배열에서 지정한 두 인덱스 사이 구간을 잘라 반환하는 워밍업 문제.

[Programmers] #120833 - 배열 자르기 [Java][C++][Python]

문제 링크


1. 아이디어

numbers 배열에서 인덱스 num1부터 num2까지의 구간을 그대로 잘라 반환하면 되는 문제다. 각 언어가 제공하는 배열·컨테이너의 부분 구간 복사 기능을 그대로 사용한다.


2. 복잡도

접근시간공간
풀이$O(K)$$O(K)$

$K$는 잘라낸 구간의 길이(num2 - num1 + 1)다.


3. 코드

풀이 [Java][C++][Python]

1
2
3
4
5
6
7
class Solution {
    public int[] solution(int[] numbers, int num1, int num2) {
        int[] ans = new int[num2 - num1 + 1];
        System.arraycopy(numbers, num1, ans, 0, num2 - num1 + 1);
        return ans;
    }
}
1
2
3
4
5
6
#include <bits/stdc++.h>
using namespace std;

vector<int> solution(vector<int> numbers, int num1, int num2) {
    return vector<int>(numbers.begin() + num1, numbers.begin() + num2 + 1);
}
1
2
def solution(numbers, num1, num2):
    return numbers[num1 : num2 + 1]

This post is licensed under CC BY 4.0 by the author.