Search

PGS 카페 확장

URL
태그
구현
자료 구조
브루트포스 알고리즘

문제 설명

바쁜 카페에서, 특정 시간 동안 카페에 머물러 있는 최대 손님 수를 구하는 문제

예제 입력/출력

menu
order
k
result
[5, 12, 30]
[1, 2, 0, 1]
10
3
[5, 12, 30]
[2, 1, 0, 0, 0, 1, 0]
10
4
[5]
[0, 0, 0, 0, 0]
5
1

제약 조건

1menu1001 ≤ |menu| ≤ 100
11 ≤ menu의 원소 100≤ 100
1order10,0001 ≤ |order| ≤ 10,000
1k1001 ≤ k ≤ 100

문제 풀이

접근1 브루트 포스 - 상한 O(1,000,000)O(1,000,000)

풀이 코드

접근1 브루트 포스 - 상한 O(1,000,000)O(1,000,000)
from collections import deque def solution(menus, orders, k): orders = deque(orders) waits = deque() cnt = 0 for t in range(k * len(orders) + 1): # 1. 음료 제작 및 나가는 손님 퇴장 if waits: waits[0] -= 1 if waits[0] == 0: waits.popleft() # 2. 들어오는 손님 입장 if orders and t % k == 0: waits.append(menus[orders.popleft()]) # 3. 대기 손님 수 카운팅 cnt = max(cnt, len(waits)) return cnt
Python
복사