백준
1. Python
rotate 라이브러리
from collections import deque
n, k = map(int,input().split())
durability = deque(list(map(int, input().split())))
belt = deque([0] * n)
count = 0
while durability.count(0) < k:
count += 1
'''
d = durability.pop()
durability.insert(0, d)
belt.pop()
belt.insert(0,0)
'''
durability.rotate(1)
belt.rotate(1)
belt[-1] = 0
for i in range(n - 2, 0, -1):
if belt[i] and durability[i + 1] and (not belt[i + 1]):
belt[i] = 0
belt[i + 1] = 1
durability[i + 1] -= 1
belt[-1] = 0
if durability[0] and not belt[0]:
belt[0] = 1
durability[0] -= 1
print(count)
rotate 라이브러리 미사용
n, k = map(int,input().split())
durability = list(map(int, input().split()))
belt = [0] * n
count = 0
while durability.count(0) < k:
count += 1
d = durability.pop()
durability.insert(0, d)
belt.pop()
belt.insert(0,0)
belt[n - 1] = 0
for i in range(n - 2, 0, -1):
if belt[i] and durability[i + 1] and (not belt[i + 1]):
belt[i] = 0
belt[i + 1] = 1
durability[i + 1] -= 1
belt[n - 1] = 0
if durability[0] and not belt[0]:
belt[0] = 1
durability[0] -= 1
print(count)