이중우선순위큐,,이지만 두개의큐를 쓰진 않았다.
먼저 우선순위큐를 하나 만들었다.
그리고 a에 I 또는 D 를 저장하고, b에는 숫자를 저장하였다.
그래서 I면 큐에 추가하고 D인 경우 삭제를 한다.
b가 -1이면 최소값을 삭제해야하는데, 큐가 오름차순이기 때문에 그냥 poll 로 삭제하면 된다.
b가 1인 경우는 최대값을 삭제해야하는데, stream으로 max를 구하여 remove를 통해 해당 값을 삭제하였다.
모든 계산이 끝나고 답을 저장하면 된다.
큐가 비어있으면 0,0 을 저장하고,
그렇지 않으면 max(stream이용)와 min(오름차순이기 때문에 그냥 peek 해쥼 !)을 저장하였다.
++ 바로 프로그래머스 사이트에서 푸는게아니라 인텔리제이로 풀고 복붙하는 식으로 풀고있는데,
인텔리제이에서는 조금만 쳐도 관련 함수를 다 알려주니까 ,,,손쉽지만,,
프로그래머스에서는 다 외워서 쳐야하는데 쉽지 않다 , ,,
특히 stream 이용하는거 ,,, 외워야즤,,, *****