본문 바로가기

알고리즘/우선순위 큐

(3)
자바 | 백준 | 17612 | 쇼핑몰 오랜만에 알고리즘 ~_~ Solution. 우선순위큐써야 한다.. package BOJ; import java.io.*; import java.util.*; public class BOJ_17612_쇼핑몰 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); int k = Integer.parseInt(st.nextToken()); Queue ..
파이썬 | 백준 | 1931 | 회의실배정 | 런타임에러 solution 1. 시작 가능한 시간에 시작하는 모든 회의들 중 끝나는 시간이 가장 빠른 것부터 처리 (우선순위큐 이용) (1, 4)회의가 끝난 후 시작 가능한 회의는 (5, 7), (5, 9), (6, 10), (8, 11), (8, 12), (12, 14) 중 (5, 7)이 가장 빨리 끝남 2. (0, 6)은 4시에 회의가 끝나는데 시작이 0시이므로 삭제 (while문 이용해서 계속 pop) while heap and heap[0][1] < tmp[0] : heap에 원소가 없으면 heap[0][1] 접근 불가 heap and 가 먼저 와야 함 heap[0][1] < tmp[0] and heap : 안 됨. 원소가 있는지부터 확인해야 함 (런타임에러) # 1931, 회의실배정 import sys i..
파이썬 | 백준 | 1715 | 카드 정렬하기 solution 1. 카드 묶음 배열 정렬 # 1715, 카드 정렬하기 import sys n = int(sys.stdin.readline()) ns = [] for _ in range(n): ns.append(int(sys.stdin.readline())) ns.sort() temp = 0 for i in range(len(ns)-1): temp += ns[i] + ns[i+1] ns[i+1] = temp print(temp) 메모리 초과 2. 힙 이용 # 1715, 카드 정렬하기 import sys import heapq n = int(sys.stdin.readline()) ns = [] for _ in range(n): heapq.heappush(ns, int(sys.stdin.readline())..