728x90
엄청 어려운 문제는 아닌데
완료 DocumentList를 선언안하고 하나의 List로 전부 처리하려고 하다가
시간 날려먹음 가능은 할텐데 index 처리를 제대로 못해주니까 자꾸 실패하길래
그냥 List 한개 더만듬
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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | public int solution(int[] priorities, int location) { int answer = 0; LinkedList<Document> waitList = new LinkedList<>(); LinkedList<Document> compList = new LinkedList<>(); PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder()); for (int i = 0; i < priorities.length; i++) { // System.out.print(priorities[i]+" "); pq.add(priorities[i]); waitList.add(new Document(i, priorities[i])); } // System.out.println(); // System.out.println(pq.size()+" "+waitList.size()); // System.out.println(pq.peek()); // System.out.println(waitList.get(0).priority); int index = 0; while (true) { if (waitList.size() == 0) break; int max = pq.peek(); if (max == waitList.get(0).priority) { pq.poll(); compList.add(waitList.remove(0)); } else { waitList.add(waitList.remove(0)); } } // while(waitList.size()>0){ // int max = pq.peek(); // if(max==waitList.get(index).priority){ // System.out.println(pq.poll()); // index++; // System.out.println("사이즈는.."+ pq.size()+" "+waitList.size()); // } // else{ // Document doc0 = waitList.remove(0); // compList.add(doc0); // } // } // while(!pq.isEmpty()){ // System.out.print(pq.poll()+" "); // } // System.out.println(); // for(int i=0; i<waitList.size(); i++){ // System.out.println(waitList.get(i).priority+" "+waitList.get(i).index); // } for (int i = 0; i < compList.size(); i++) { // System.out.println(compList.get(i).priority+" "+compList.get(i).index); if (compList.get(i).index == location) { return i + 1; } } return answer; } class Document { int index; int priority; // index is location. Document(int index, int priority) { this.index = index; this.priority = priority; } } | cs |
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 기능개발 (스택/큐) (0) | 2019.12.04 |
---|---|
프로그래머스 - 다리를 지나는 트럭 (스택/큐, 구현) (0) | 2019.12.04 |
프로그래머스 - 탑 (스택/큐) (0) | 2019.12.03 |
프로그래머스 - 베스트앨범 (해시) (0) | 2019.12.03 |
프로그래머스 - 위장 (해시) (0) | 2019.11.30 |