관리 메뉴

🌲자라나는청년

[프로그래머스] 프린터(자바, LinkedList사용) 본문

알고리즘 문제풀이

[프로그래머스] 프린터(자바, LinkedList사용)

JihyunLee 2019. 10. 2. 20:12
반응형

 

 

프로그래머스 프린터 문제,

 

LinkedList를 사용했다.

 

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import java.util.*;
class node{
    int prior;
    int loc;
    node(int prior, int loc){
        this.prior = prior;
        this.loc = loc;
    }
}
 
 
class Solution {
    public int solution(int[] priorities, int location) {
        LinkedList<node> prior = new LinkedList<node>();
        int cnt=0;
        int answer=0;
        for(int i=0; i<priorities.length; i++){
            prior.add(new node(priorities[i],i));
        }
        
 
        
        while(!prior.isEmpty()){
           // for(int i=0; i<priorities.length; i++){
                node f = prior.getFirst(); 
                int k=0;
                for(k=0; k<prior.size(); k++){
                    node find =prior.get(k);
                    if(find.prior > f.prior){
                        prior.poll();
                        prior.addLast(f);
                        break;
                    }
                }
                if(k==prior.size()){
                    prior.poll();
                    cnt ++;
                    if(f.loc == location){
                    //find the answer
                        answer = cnt;
                        return answer;
                    }
                }
                    
                //}
            }
                //f is best priority
         return answer;
        }
     
    
}
cs

 

문법 : 

LinkedList<e> name = new LikedList<e>();

.get(int) : index 의 값을 꺼낸다(삭제하지 않는다)

.getFirst() : 처음값을 꺼낸다

.addLast : 마지막 값을 꺼낸다

.poll() : 처음것을 꺼내면서 delete

.peek() : 처음것을 꺼내면서 delete아님

반응형