백준/힙
-
백준 1202 nodejs백준/힙 2023. 1. 29. 18:55
문제 https://www.acmicpc.net/problem/1202 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net 풀이 보석의 정보 A와 가방 무게 B를 무게 기준으로 오름차순 정렬한다. 최댓값 힙 H에 가방 무게 이하의 보석 가치를 담는다. 결과값 o에 힙의 최댓값을 더해준다. let [[N, K], ...I] = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n').m..
-
백준 1655 nodejs백준/힙 2023. 1. 15. 16:07
문제 https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 후기 javascript는 힙을 직접 구현해야 하기 때문에, 이분탐색으로 풀이를 시도했으나 70%에서 시간 초과가 났다. 해당 풀이는 아래와 같다. let [N, ...I] = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n').map(Number) let [A, O] = [[], []] I.forEa..