[JAVA 문제 풀이] 149. 배열 조각하기

프로그래머스 (181893)
Stupefyee's avatar
Mar 19, 2025
[JAVA 문제 풀이] 149. 배열 조각하기
notion image
 

내가 작성한 코드

import java.util.stream.IntStream; class Solution { public int[] solution(int[] arr, int[] query) { for (int i = 0; i < query.length; i++) { // 짝수면 뒷부분 -1로 변환 if (i % 2 == 0) { for (int j = query[i] + 1; j < arr.length; j++) { arr[j] = -1; } } // 홀수면 앞부분 -1로 변환 else { for (int j = 0; j < query[i]; j++) { arr[j] = -1; } } // 반복이 끝날 때마다 -1을 제외한 배열로 재설정 arr = IntStream.of(arr).filter(j -> j != -1).toArray(); } return arr; } }
 

다른 사람의 코드

import java.util.*; class Solution { public int[] solution(int[] arr, int[] query) { int start = 0; // 시작 인덱스 int end = arr.length - 1; // 끝인덱스 for (int i = 0; i < query.length; i++) { if (i % 2 == 0) { end = start + query[i] - 1; // 끝 인덱스 갱신 } else { start += query[i]; // 시작 인덱스 갱신 } } return Arrays.copyOfRange(arr, start, end + 2); } }
 
Share article

stupefyee