티스토리 뷰
https://programmers.co.kr/learn/courses/30/lessons/42587?language=java
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
|
import java.util.Collections;
import java.util.PriorityQueue;
class Solution {
public int solution(int[] priorities, int location) {
int answer = 0;
PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder());
for(int priority : priorities) {
}
while(!pq.isEmpty()) {
for(int i = 0; i < priorities.length; i++) {
answer++;
if (location == i) {
break;
}
}
}
}
return answer;
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
자바에서 제공하는 우선순위 큐(Priority Queue) 유틸은 힙 기반으로 만들어졌다.
그래서 최대힙, 최소힙을 활용 가능해서 알고리즘 문제에서 종종 눈에 띄곤한다.
처음엔 큐(Queue)를 사용해서 처음부터 확인하고 다시 맨 뒤로 넣고 확인하고 아니면 뒤로...
이런식으로 정말 문제 그대로 만들려다보니 점점 미궁에 미궁에 미궁으로 빠졌다.
간단하게 우선순위 큐에서 높은 우선 순위가 있으면 출력하고 갯수 체크만 하면 끝인걸...
ps. Priority Queue는 그냥 만들면 최소값 기준으로 우선순위 된다.
new Priority Queue(Collections.reverseOrder())로 생성해주게 되면 최대값 기준으로 우선순위가 정렬된다.
'기초CS > 알고리즘' 카테고리의 다른 글
[프로그래머스] 알고리즘 연습 문제 : 키패드 누르기(자바/JAVA) (0) | 2020.12.06 |
---|---|
[프로그래머스] 알고리즘 연습 문제 : 주식가격 (자바/JAVA) (0) | 2019.12.01 |
[프로그래머스] 알고리즘 연습 문제 : 타겟 넘버 (자바/JAVA) (0) | 2019.09.07 |
[프로그래머스] 알고리즘 연습 문제 : 쇠막대기 (자바/JAVA) (0) | 2019.09.06 |
[프로그래머스] 알고리즘 연습 문제 : 위장 (자바/JAVA) (0) | 2019.09.06 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 문자열 내 마음대로 정렬하기
- 최솟값
- 텔레그램
- Spring
- 다음 맵 api
- cgv
- 타겟 넘버
- FrogJmp
- 완주하지 못한 선수
- 프로그래머스
- 알고리즘
- java
- 예매 알림
- 124 나라의 숫자
- 스프링 부트
- AWS
- codility
- API
- json
- 더 나은 내일
- K번째수
- 자바
- 객체지향과 디자인패턴
- 맵 api
- 안드로이드 스튜디오
- 카카오인턴
- 쇠막대기
- 기능개발
- 파이팅코리아
- 노션트렐로광고X
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함