for tc in range(1, int(input()) + 1):
# N은 화덕의 크기, M은 피자 개수
N, M = map(int, input().split())
arr = list(map(int, input().split()))
pizza = []
# 화덕 크기만큼만 담고
# 출력시 피자의 위치 조정을 위해 인덱스를 i+1
for i in range(N):
pizza.append([i+1, arr[i]])
# 치즈가 다 녹고 새로운 피자를 담을때를 위한 i
i = 0
while len(pizza) != 1:
cheese = pizza.pop(0)
melt = cheese[1] // 2
cheese[1] = melt
# 치즈가 다 녹았으면
if cheese[1] == 0:
# 화덕에 들어갈 피자가 있으면
if i + N < M:
# 다시 담지 말고 새로운 피자를 화덕에 넣어야함
pizza.append([N + i + 1, arr[N + i]])
i += 1
else:
pass
# 다 안녹았으면 다시 돌리기
else:
pizza.append(cheese)
print('#{} {}'.format(tc, pizza[0][0]))
🔑 피자 굽기 쉽지않네,,, 먹을줄만 알지 만들줄은 몰랐어요,,,!
내 스스로 이해하면서 코드를 짜느라 남들보다 비효율적인 코드가 있을 수도 길게 느껴질 수도 있지만 미래에 다시 볼 나를 위하여 코드를 줄이지 않았다.