Hikenny25

6일차 - 피자 굽기 본문

SW Expert Academy/Programming - Intermediate

6일차 - 피자 굽기

hikenny 2023. 12. 16. 16:25

 

들어가기 전에 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
Comments