Hikenny25
6일차 - 피자 굽기 본문

들어가기 전에 queue 이용해서 어떻게 구현하나를 미리 생각해놓아서 쉽게 풀 수 있었다..
무난무난한 큐 문제라고 생각
from collections import deque
for t in range(int(input())):
n, pizza_number = map(int, input().split())
cheeze = list(map(int, input().split()))
q = deque([i for i in range(n)])
out_list = list()
count = pizza_number - n
while q:
k = q.popleft()
cheeze[k] //= 2
if cheeze[k] == 0:
out_list.append(k)
count += 1
new_pizza = 2*n + count - pizza_number - 1
if new_pizza + 1 <= pizza_number:
q.append(new_pizza)
continue
q.append(k)
print(f"#{t+1} {out_list[-1]+1}")
'SW Expert Academy > Programming - Intermediate' 카테고리의 다른 글
3일차 - String (0) | 2023.12.16 |
---|---|
6일차 - 노드의 거리 (0) | 2023.12.16 |
6일차 - 미로의 거리 (0) | 2023.12.14 |
6일차 - 회전 (0) | 2023.12.13 |
5일차 - 배열 최소 합 (0) | 2023.12.12 |