본문 바로가기
PROGRAMMERS 42885: 구명보트 Link : programmers.co.kr/learn/courses/30/lessons/42885 Python 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 def solution(people, limit): people.sort(reverse=True) counter = 0 s_tp = 0 e_tp = len(people) - 1 while e_tp - s_tp >= 0: if people[s_tp] + people[e_tp] 2021. 1. 5.
42583: 다리를 지나는 트럭[스택/큐] Link : programmers.co.kr/learn/courses/30/lessons/42583 1. 문제 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이는 bridge_length이고 다리는 무게 weight까지 견딥니다. ※ 트럭이 다리에 완전히 오르지 않은 경우, 이 트럭의 무게는 고려하지 않습니다. 예를 들어, 길이가 2이고 10kg 무게를 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다. 경과 시간다리를 지난 트럭다리를 건너는 트럭대기 트럭 0 [] [] [7,4,.. 2021. 1. 5.
PROGRAMMERS 42583: 다리를 지나는 트럭 Link : programmers.co.kr/learn/courses/30/lessons/42583 Python 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 def solution(bridge_length, weight, truck_weights): queue = [] times = 1 pres_weight = 0 while len(truck_weights) or len(queue): if len(truck_weights) > 0: if pres_weight + truck_weights[0] 2021. 1. 5.
42586: 기능개발[스택/큐] Link : programmers.co.kr/learn/courses/30/lessons/42586 1. 문제 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 2. 문제의 조건 작업 갯수 2021. 1. 5.
PROGRAMMERS 42586: 기능개발 Link : programmers.co.kr/learn/courses/30/lessons/42586 Python 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 def solution(progresses, speeds): answer = [] while len(progresses): for i in range(len(progresses)): progresses[i] += speeds[i] stack = [] for i in range(len(progresses)): if progresses[i] >= 100: stack.append(i) else: break if len(stack) != 0: stack.reverse() for i in sta.. 2021. 1. 5.