티스토리 뷰

 

 


[ 우선순위 큐 ]

 

 

더보기
import java.util.*;

class Solution {
    
    // 문제 :
    // + 현재 대기목록에 있는 문서의 중요도가 순서대로 담긴 배열 priorities와
    // + 내가 인쇄를 요청한 문서가 현재 대기목록의 어떤 위치에 있는지를 알려주는 location이 매개변수일때
    // + 내가 인쇄를 요청한 문서가 몇 번째로 인쇄되는지 return해라.
    
    public int solution(int[] priorities, int location) {
        
        PriorityQueue <Integer> qu = new PriorityQueue<>(Collections.reverseOrder());
        // + 1. 우선순위 큐를 사용하여 값을 내림차순으로 우선순위를 두게한다.
        // + Collections.reverseOrder를 통해 내림차순 정렬한다.
        
        int answer = 0;
        // + 인덱스가 location번째에 있는 문서가 어떤 위치인지 저장하는 변수 생성
        
        // + 2. priorities 배열에 있는 원소를 우선순위 큐에 옮긴다.
        
        for ( int i = 0; i < priorities.length; i++ ) {
            
            qu.add( priorities[i] );
            // + priorities 배열에 있는 원소를 우선순위 큐에 옮긴다.
            // + 우선순위 큐에 옮겨지면 값이 큰 순서대로 정렬이된다.
            
        } // for
        
        // + 3. 우선순위 큐가 비어질때까지 반복한다.
        
        while( !qu.isEmpty() ) {
            
            // + 4. location의 위치에 있는 값이 나올때 까지 반복한다.
            
            for( int i = 0; i < priorities.length; i++ ) {
                
                // + 5. 우선순위 큐에서 빼낸 값이 배열의 값과 일치아는 경우 출력
                if( priorities[i] == qu.peek() ){
                    
                    // + 6. 값과 위치가 모두 같을 경우에는 답을 반환
                    if ( i == location ){
                        answer ++;
                        return answer;
                    } // inner if
                    
                    qu.poll();
                    answer++;
                    
                } // if
                
            } // for
            
        } // while
        
        return -1;
        
    } // solution
    
} // end class

 


 

 

[ 참고한 블로그 ]

 

https://ehpub.co.kr/java-%ED%99%9C%EC%9A%A9-3-9-queue-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4/

 

[Java 활용] 3.9 Queue 인터페이스 – 언제나 휴일

Java의 Queue 인터페이스는 자료구조 큐를 약속한 것입니다. 자료구조 큐는 FIFO(First In First Out, 선입선출) 형태로 자료를 보관하고 꺼내는 버퍼입니다. Java의 Queue 인터페이스에서는 보관할 때 offer

ehpub.co.kr

 

https://yoongrammer.tistory.com/81

 

[자료구조] 우선순위 큐 (Priority Queue) 개념 및 구현

목차 우선순위 큐 (Priority Queue) 개념 및 구현 일반적인 큐(Queue)는 먼저 집어넣은 데이터가 먼저 나오는 FIFO (First In First Out) 구조로 저장하는 선형 자료구조입니다. 하지만 우선순위 큐(Priority Queue

yoongrammer.tistory.com

 

 

728x90
댓글
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
최근에 올라온 글
Total
Today
Yesterday
공지사항