Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 파이썬
- bit manipulation
- Binary Search
- implement
- Method
- dynamic programming
- Counting
- array
- Data Structure
- hash table
- Binary Tree
- two pointers
- Class
- string
- Math
- 코딩테스트
- sorting
- Tree
- 코테
- java
- SQL
- greedy
- geometry
- Number Theory
- Stack
- Matrix
- database
- 자바
- simulation
- 구현
Archives
- Today
- Total
코린이의 소소한 공부노트
[프로그래머스/Lv.0] 배열 조각하기 본문
1. Input, Output, Example
query를 순회하면서 다음 작업을 반복한다.
// 짝수 인덱스에서는 arr에서 query[i]번 인덱스를 제외하고 배열의 query[i]번 인덱스 뒷부분을 잘라서 버린다.
// 홀수 인덱스에서는 arr에서 query[i]번 인덱스는 제외하고 배열의 query[i]번 인덱스 앞부분을 잘라서 버린다.
- 위 작업을 마친 후 남은 arr의 부분 배열을 반환
2. Constraint
1) 5 ≤ arr의 길이 ≤ 100,000
2) 0 ≤ arr의 원소 ≤ 100
3) 1 ≤ query의 길이 < min(50, arr의 길이 / 2)
4) query의 각 원소는 0보다 크거나 같고 남아있는 arr의 길이 보다 작다.
3. Code
1) 첫 코드(2023/05/03)
import java.util.*;
class Solution {
public int[] solution(int[] arr, int[] query) {
int len = arr.length;
for(int i=0 ; i<query.length ; i++){
if(i%2==0){
len = query[i]+1;
System.arraycopy(arr, 0, arr, 0, len);
}else{
len -= query[i];
System.arraycopy(arr, query[i], arr, 0, len);
}
}
return Arrays.copyOfRange(arr, 0, len);
}
}
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 2446. Determine if Two Events Have Conflict (0) | 2023.05.04 |
---|---|
[LeetCode/Easy] 2441. Largest Positive Integer That Exists With Its Negative (0) | 2023.05.04 |
[프로그래머스/Lv.1] 예산 (0) | 2023.05.03 |
[LeetCode/Easy] 2437. Number of Valid Clock Times (0) | 2023.05.03 |
[LeetCode/Easy] 2432. The Employee That Worked on the Longest Task (0) | 2023.05.03 |