이중우선순위큐,,이지만 두개의큐를 쓰진 않았다.

 

먼저 우선순위큐를 하나 만들었다. 
그리고 a에 I 또는 D 를 저장하고, b에는 숫자를 저장하였다.

그래서 I면 큐에 추가하고 D인 경우 삭제를 한다.

b가 -1이면 최소값을 삭제해야하는데, 큐가 오름차순이기 때문에 그냥 poll 로 삭제하면 된다.

b가 1인 경우는 최대값을 삭제해야하는데, stream으로 max를 구하여 remove를 통해 해당 값을 삭제하였다.

 

모든 계산이 끝나고 답을 저장하면 된다.

큐가 비어있으면 0,0 을 저장하고,

그렇지 않으면 max(stream이용)와 min(오름차순이기 때문에 그냥 peek 해쥼 !)을 저장하였다.

 

++ 바로 프로그래머스 사이트에서 푸는게아니라 인텔리제이로 풀고 복붙하는 식으로 풀고있는데,

인텔리제이에서는 조금만 쳐도 관련 함수를 다 알려주니까 ,,,손쉽지만,,

프로그래머스에서는 다 외워서 쳐야하는데 쉽지 않다 , ,, 

특히 stream 이용하는거 ,,, 외워야즤,,, *****

'NOTE > 프로그래머스' 카테고리의 다른 글

21.07.26  (0) 2021.07.26
21.07.23-(2)  (0) 2021.07.23
21.07.23  (0) 2021.07.23
21.07.22  (0) 2021.07.22
21.07.21  (0) 2021.07.21

+ Recent posts