def password():
front = rear = -1
while True:
if arr[rear % N] > 0:
for i in range(N):
for j in range(1, 6):
rear += 1
a = arr.pop(0) - j
if a <= 0:
a = 0
arr.append(a)
return
arr.append(a)
else:
break
for i in range(10):
tc = int(input())
N = 8
arr = list(map(int,input().split()))
password()
print(f'#{tc}',*arr)
오늘의 뻘짓 : stack을 매우 길게 고정값으로 만들고, pop하는 것 없이 계속 더하기
for i in range(8):
tc = int(input())
N = 8
arr = list(map(int,input().split()))
stack = [1] * 100000
# print('stack',stack)
front = rear = -1
while True:
if stack[rear] <= 0:
print('stack에서 break')
break
# 9550 9556 9550 9553 9558 9551 9551 9551
for j in range(1,6):
rear += 1
stack[rear] = arr[rear % N] - j
arr[rear % N] = stack[rear]
if arr[rear % N] <= 0:
arr[rear%N] = 0
# print('arr에서 break')
break
# arr.append(arr.pop(0))
print(f'#{tc}', *arr)
# print(*arr)
# print(stack[rear])
# print('after',stack)
# print(arr)
# print()
'알고리즘 문제풀이' 카테고리의 다른 글
Swea D3_11889. 노드의 거리 Python BFS (0) | 2024.02.16 |
---|---|
Swea D3_11885.피자굽기 Python Queue (0) | 2024.02.16 |
Swea D2_11884 회전 Python Queue (0) | 2024.02.15 |
Swea D2_1954 달팽이 Python (0) | 2024.02.15 |
Swea D3_11883. 배열 최소합 Python 재귀,백트래킹 (0) | 2024.02.14 |