đ programmers 체ěĄëłľ ꡸댏ë 돸ě ě´ë¤.
- íě´
def solution(n, lost, reserve): cnt = 0 lost_temp = [x for x in lost if x not in reserve] reserve_temp = [x for x in reserve if x not in lost] lost_temp.sort() reserve_temp.sort() for lo in lost_temp: for i in range(len(reserve_temp)): if lo - 1 == reserve[i] or lo + 1 == reserve[i]: reserve[i] = -1 break else: cnt += 1 return n - cnt
đ programmers ëě¤í¸ 읨í¸ëĄ¤ëŹ Heap 돸ě ě´ë¤
- íě´
import heapq def solution(jobs): start, end, i, result = -1, 0, 0, 0 heap = list() while i < len(jobs): for job in jobs: if start < job[0] <= end: heapq.heappush(heap, [job[1], job[0]]) if 0 < len(heap): temp = heapq.heappop(heap) start = end end += temp[0] result += end - temp[1] i += 1 else: end += 1 return result // len(jobs)