프로그래머스 이중우선큐(JAVA)

프로그래머스 링크

이렇게 풀라는건 아닐거 같은데 큐를 사용하지 않고 그냥 풀어버렸다…. 보통은 우선순위 큐를 2개를 사용해서 한쪽은 오름차순, 다른 쪽은 내림차순으로 정렬하게 하는 방식으로 구현하는 것으로 보인다.

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Solution {
    public int[] solution(String[] operations) {
        int[] answer = new int[2];

        List<Integer> list = new ArrayList<Integer>();


        for(String operation : operations) {
        	String[] keys = operation.split(" ");

        	if(keys[0].equals("I")) {
        		list.add(Integer.parseInt(keys[1]));
        		Collections.sort(list);
        	} else {        		
        		if(list.size() > 0 ) {

            		if(keys[1].equals("1") ) {        			
            			list.remove(list.size()-1);
            		}else {
            			list.remove(0);
            		}
        		}        		
        	}
        }


        if(list.size() > 0) {
        	answer[1] = list.get(0);
        	answer[0] = list.get(list.size()-1);
        }

        return answer;
    }

}