문제
풀이
import java.util.*;
class Solution {
public int[] solution(int[] arr, boolean[] flag) {
List<Integer> result = new ArrayList<>();
for(int i = 0; i < arr.length; i++) {
if(flag[i]) {
for(int j = 0; j < arr[i] * 2; j++) {
result.add(arr[i]);
}
} else {
int size = result.size();
int removeCount = Math.min(size, arr[i]);
result.subList(size - removeCount, size).clear();
}
}
return result.stream()
.mapToInt(Integer::intValue)
.toArray();
}
}
출처
https://school.programmers.co.kr/learn/courses/30/lessons/181860
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] Lv.0 / 무작위로 K개의 수 뽑기 / Java (0) | 2024.02.07 |
---|---|
[Programmers] Lv.0 / 배열 만들기 6 / Java (0) | 2024.02.06 |
[Programmers] Lv.0 / 배열의 원소만큼 추가하기 / Java (0) | 2024.02.02 |
[Programmers] Lv.0 / 세 개의 구분자 / Java (0) | 2024.02.01 |
[Programmers] Lv.0 / rny_string / Java (1) | 2024.02.01 |
댓글