목록level3 (20)
동캄의 코딩도장
https://programmers.co.kr/learn/courses/30/lessons/42861 코딩테스트 연습 - 섬 연결하기 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr # 프로그래머스 섬 연결하기 def solution(n, costs): answer = 0 costs.sort(key=lambda x: x[2]) island = {} cnt = 0 for i in range(n): island[i] = 0 a, b, c = costs.pop(0) island[a] += 1 island[b] += 1 answer += c cnt += 1 while cnt != n-1: for i in range(len(costs)): a, b..
https://programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr # 프로그래머스 이중우선순위큐 import heapq def solution(operations): answer = [] heap = [] for operation in operations: oper, digit = map(str, operation.split()) if oper == 'I': heapq.heappush(heap, int(digit)) elif heap and oper == 'D' and digit == '1': heap = heapq.nlargest(len(heap), heap)[1:] heapq.heapify(heap)..
https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr def solution(jobs): answer = 0 schedule = [] jobs.sort() length = len(jobs) end = 0 while jobs: if schedule: #대기 열이 존재하는 경우 start, spend = schedule.pop() answer += (spend+end-start) end += spend else:..
https://programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr # 프로그래머스 베스트앨범 def solution(genres, plays): answer = [] genre_ = set(genres) sum_play = {} lst = {} for genre in genre_: lst[genre] = [] sum_play[genre] = 0 for val in enumerate(zip(genres, plays)): lst..
https://programmers.co.kr/learn/courses/30/lessons/43238 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr def solution(n, times): answer = 0 start = 1 end = max(times)*n while True: mid = (start+end)//2 cnt = 0 for time in times: cnt += mid//time if cnt == n: end = mid start = mid//2 while True: mid = (start+..
https://programmers.co.kr/learn/courses/30/lessons/42884 코딩테스트 연습 - 단속카메라 [[-20,-15], [-14,-5], [-18,-13], [-5,-3]] 2 programmers.co.kr #프로그래머스 단속카메라 def solution(routes): answer = 0 routes.sort(key=lambda x:(x[0],x[1])) cre=routes[0][1] for route in routes: if route[0]