https://school.programmers.co.kr/learn/courses/30/lessons/176962
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
과제에 대한 순서를 출력하는 큐 문제였다. 구현 +큐 문제였는데 풀다가 계속 막혀서 결국 풀이를 살짝 보고 풀었다.
다음에 복습을 해야겠다.
from collections import deque
def solution(plans):
answer = []
def time(s):
h, m = map(int, s.split(":"))
temp = h * 60 + m
return temp
for i in range(len(plans)):
plans[i][1] = time(plans[i][1])
plans[i][2] = int(plans[i][2])
plans = sorted(plans, key=lambda x: x[1])
queue = deque()
left = 0
for i in range(len(plans)):
name, start, need = plans[i]
while queue:
name1, need1 = queue.pop()
if left >= need1:
left -= need1
answer.append(name1)
else:
queue.append((name1, need1-left))
break
queue.append((name, need))
if i < len(plans) - 1:
nstart = plans[i+1][1]
left = nstart - start
while queue:
name1, need1 = queue.pop()
answer.append(name1)
return answer'👩💻 코테 공부 > 코테 공부' 카테고리의 다른 글
| [코테 - py] 최소 힙 (0) | 2024.07.31 |
|---|---|
| [코테 - py] 두 큐 합 같게 만들기 (0) | 2024.07.29 |
| [코테 - py] 테이블 해시 함수 (0) | 2024.07.27 |
| [코테 - py] 베스트 앨범 (0) | 2024.07.27 |
| [코테 - py] 문자열 압축 (0) | 2024.07.27 |