SWEA-5102 : [파이썬 S/W 문제해결 기본] 6일차 - 노드의 거리
문제
- SWEA-5099 : [파이썬 S/W 문제해결 기본] 6일차 - 피자 굽기
풀이
오븐 안에 들어간 피자와 밖에 있는 피자, 그리고 각각의 번호를 모두 queue로 구현하여 돌려주면 된다.
T = int(input())
for test_case in range(1, T + 1):
oven, pizza = map(int, input().split())
cheese = list(map(int, input().split()))
number = [i+1 for i in range(pizza)]
inoven = cheese[0:oven]
innumber = number[0:oven]
leftpizza = cheese[oven:]
leftnumber = number[oven:]
while len(inoven) !=1:
inoven[0] //= 2
if inoven[0]//2 == 0:
inoven.pop(0)
innumber.pop(0)
if len(leftpizza)>0:
inoven.append(leftpizza[0])
leftpizza.pop(0)
innumber.append(leftnumber[0])
leftnumber.pop(0)
else:
inoven.append(inoven.pop(0))
innumber.append(innumber.pop(0))
print('#%d %d' % (test_case, innumber[0]))