[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.