728x90
반응형
문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/42586
풀이:
# 27.3점 받은 코드
def solution(progresses, speeds):
list = []
for x,y in zip(progresses, speeds):
count = 0
while x <100:
x += y
count += 1
if x >= 100:
list.append([x,count])
result = [True]
for i in range(1,len(list)):
result.append(list[i-1][1] < list[i][1] )
result.append(True)
answer = []
for idx,i in enumerate(result):
if i == True:
answer.append(idx)
return [answer[i] - answer[i-1] for i in range(1,len(answer))]
def solution(progresses, speeds):
answer = []
day = 0
count = 0
while len(progresses) > 0 :
if ( progresses[0] + day * speeds[0] ) >= 100 : # 100% 이상이면
progresses.pop(0) # 리스트와
speeds.pop(0) # 속도 삭제한 후
count += 1 # 배포 개수 1 증가
else :
if count > 0 : # 100% 이상이 아닌데, 앞에서 배포할 작업이 있다면
answer.append(count) # 배포개수를 answer 리스트에 담아준 후
count = 0 # count 초기화
day += 1 # 다음 날짜 작업을 확인하기 위해 작업 일수에 하루를 더해줌
answer.append(count) # 마지막 날꺼 더해줌
return answer
반응형
댓글