문제 : programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 두 개의 Priority Queue를 사용하여 하나는 오름차순으로, 다른 하나는 내림차순으로 정렬하여 구현한다. 이 때, 별도로 원소의 갯수를 counting 하는 size 변수를 두어 size가 0이 되면 두 queue를 모두 clear 해 주어야 한다. 만일 이 과정을 넣어주지 않으면 다음과 같은 문제가 발생할 수 있다. 가정 : 이중 우선순위 큐 (이하 dpq)는 1, 2, 3을 원소로 가지고 있다. 전개 최솟값을 두 번 poll 한다. = 오름차순으로 정렬된 priority queue (이하 minQueue)에서 두 번 poll 한다. ..
문제 : programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr "작업의 요청부터 종료까지 걸린 시간의 평균"을 최소화 하기 위해서는 Shortest Job First로 Job scheduling을 해 주어야 한다. 또, 문제에 주어진 조건에서 하드디스크가 idle 상태일 때에는 먼저 들어온 작업부터 처리해야 하므로 이 부분도 같이 고려해야 한다. 이는 두 개의 priority queue를 사용하여 해결할 수 있다. 이 두 ..
문제 : programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 주어진 scoville array를 priority queue에 넣기만 하면 쉽게 해결되는 문제 소스코드 import java.util.PriorityQueue; class Solution { private int count = 0; public int solution(int[] scoville, int K) { PriorityQueue pq = new ..
- Total
- Today
- Yesterday
- DP
- 코딩테스트
- 멀리 뛰기
- 탐욕법
- Queue
- 동적계획법
- 연습문제
- 해시
- 자바
- dynamic programming
- 데브코스
- java
- programmers
- BFS
- stack
- 알고리즘
- dfs
- 큐
- 정렬
- Algorithm
- Hash
- 프로그래머스
- Sorting
- 백준
- 자료구조
- Heap
- 힙
- greedy
- 완전탐색
- 그래프
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |