728x90
https://school.programmers.co.kr/learn/courses/30/lessons/181860
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
728x90
메모리: 80.5 MB, 시간: 0.78 ms
사용 알고리즘: 자료구조
import java.util.*;
class Solution {
public int[] solution(int[] arr, boolean[] flag) {
// X의 원소들을 임시로 담아둘 Deque
ArrayDeque<Integer> dq = new ArrayDeque<>();
for(int i = 0; i < flag.length; i++) {
if(flag[i]) {
for(int j = 0; j < arr[i] * 2; j++)
dq.addLast(arr[i]);
}
else {
for(int j = 0; j < arr[i]; j++)
dq.pollLast();
}
}
// Deque -> 배열
int[] answer = new int[dq.size()];
for(int i = 0; i < answer.length; i++)
answer[i] = dq.pollFirst();
return answer;
}
}
728x90
'Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스, 181858] 무작위로 K개의 수 뽑기 (java) (0) | 2025.03.12 |
---|---|
[프로그래머스, 181859] 배열 만들기 6 (java) (0) | 2025.03.12 |
[프로그래머스, 181862] 세 개의 구분자 (java) (0) | 2025.03.12 |
[백준, BOJ 1715] 카드 정렬하기 (java) (0) | 2025.03.11 |
[프로그래머스, 120860] 직사각형 넓이 구하기 (java) (0) | 2025.03.11 |