목록Algorithms/Heap (5)
출처: https://programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ------ 첫풀이: def solution(operations): q = [] ops = [] for i in operations: if i[0] == 'I': q.append(int(i[2:])) else: ops.append(int(i[-1])) q.sort(reverse=True) if len(ops) >= len(q): return [0,0] else: for i in ops: if i == ..
출처: https://programmers.co.kr/learn/courses/30/lessons/42627/solution_groups?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import heapq def solution(jobs): answer = 0 n = len(jobs) time, end, data = 0, -1, [] cnt = 0 while cnt < n: for i in jobs: if end < i[0] 0: answer += len(data) * data[0] end = time time += hea..
출처: https://programmers.co.kr/learn/courses/30/lessons/42629 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 라면 공장에서는 운송비를 줄이기 위해 최소한의 횟수로 밀가루를 공급받고 싶습니다. stock 값을 빼는 것이 아님!! 최대 공급량을 가진 날짜 순으로 공급을 받아야 함! ----------- import heapq def solution(stock, dates, supplies, k): answer = 0 idx = 0 heap = [] while stock
출처: https://programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import heapq def solution(scoville, K): answer = 0 heap = [] for num in scoville: heapq.heappush(heap, num) while heap[0]
- 최소힙 (min-heap) - Push 시간 복잡도: O(log n) / Pop 시간 복잡도: O(log n) import heapq heap = [] heapq.heappush(heap, (3, "A")) heapq.heappush(heap, (1, "B")) heapq.heappush(heap, (8, "C")) heapq.heappush(heap, (5, "D")) print(heap) first = heapq.heappop(heap) second = heapq.heappop(heap) print("first: {} / second: {}".format(first, second)) >>[(1, 'B'), (3, 'A'), (8, 'C'), (5, 'D')] >>first: (1, 'B') / s..