코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
이 문제는 priority를 사용한 문제인데, 주의할 점은 기존 자바의 priorityQueue와는 다르게 내림차순으로 정렬해야한다는 점입니다.
<PreorityQueue 내림차순으로 정렬하는 방법>
   PriorityQueue<Integer> m = new PriorityQueue<>(Collections.reverseOrder());위와 같이 priorityQueue를 만들고, 선언하는 끝에 Collection.reverseOrder()을 하면 된다.
import java.io.*;
import java.util.*;
import java.math.*;
public class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        PriorityQueue<Integer> m = new PriorityQueue<>(Collections.reverseOrder());
        StringTokenizer st;
        StringBuilder sb = new StringBuilder();
        for(int i = 0;i<n;i++){
            st = new StringTokenizer(br.readLine());
            String k = st.nextToken();
            
            if(k.equals("push")){
                int a = Integer.parseInt(st.nextToken());
                m.add(a);
            }
            else if(k.equals("pop")){
                int a = m.poll();
                sb.append(a + "\n");
            }
            else if(k.equals("size")){
                sb.append(m.size() + "\n");
            }
            
            else if(k.equals("empty")){
                if(m.isEmpty() == true){
                    sb.append(1 + "\n");
                }
                else sb.append(0 + "\n");
            }
            else if(k.equals("top")){
                 sb.append(m.peek() + "\n");
            }
    }
     System.out.println(sb);
}
}
'알고리즘 > 코드트리 문제풀이' 카테고리의 다른 글
| 코드트리 [자바 java] 자연수 n개의 합 (0) | 2023.09.10 | 
|---|---|
| 코드트리 [자바 java] 숫자 빠르게 찾기 (1) | 2023.09.08 | 
| 코드트리 [자바 java] TreeSet 기본 (1) | 2023.09.06 | 
| 코드트리 [자바 java] HashSet 기본 (1) | 2023.09.06 | 
| 코드트리 [자바 java] HashMap 기본 (0) | 2023.09.06 | 
 
										
									 
										
									 
										
									