사용 언어 : python
time
: 배포 가능한 날, ceil을 하여 결과가 소수점일때 ceil
을 이용하여 올림
을 해줍니다! ( 남은 부분은 내일 개발해야 하므로 하루를 더해줌 )
t
: 각 프로세스마다 배포 가능한 날짜를 저장해 놓은 list입니다.
answer
: 각 배포마다 몇 개의 기능이 배포되는지 저장되는 list입니다.
z
는 배포할 첫번째 기능의 배포가능할 날입니다.
z
값과 비교하여 z
보다 작거나 같을 시 그날 배포 가능합니다.
배포가능하면 t
의 첫번째 값을 삭제해주고 count 값을 +1해줍니다.
배포가 가능하지 않다면 break를 한 후 answer에 count값을 추가합니다.
t의 모든 요소가 삭제될 때까지 반복
import math
def solution(progresses, speeds):
t = []
for x, y in zip(progresses, speeds):
time = math.ceil((100-x) / y) # 소수점은 남은 개발을 의미, 그 다음날 개발이 끝나므로 올림을 해준다.
t.append(time)
answer = []
while t:
count = 0
z = t[0]
for _ in range(len(t)):
if z >= t[0]:
count += 1
del t[0] # 배포가능하면 배포했다는 의미로 삭제!
else:
break
answer.append(count) # 추가!
return(answer)