문제 설명
풀이 과정 & 코드
- 앞에서부터 완료가 되면 하나씩 꺼내서 완료 리스트에 담아 최종 답으로 return 하는 문제임
- 하지만 앞에 progress가 마무리 되지 못하면 뒤가 마무리 되었다 하더라도 계속 완료가 되지 못함
- 따라서 뒤와 상관없이 앞을 계속해서 speeds 리스트에 인덱스에 맞게 증가시키면서 값을 더하고 100 이상을 만족하면 꺼내고 다음걸 확인하는 식으로 코드를 구현하면 됨
def solution(progresses, speeds):
answer = []
done = []
progresses = progresses[::-1]
speeds = speeds[::-1]
while progresses:
if progresses[-1] < 100:
for i in reversed(range(len(progresses))):
progresses[i] += speeds[i]
if progresses[-1] >= 100:
while progresses and progresses[-1] >= 100:
done.append(progresses.pop())
speeds.pop()
answer.append(len(done))
done = []
return answer
'알고리즘' 카테고리의 다른 글
99클럽 코테 스터디 10일차 TIL (0) | 2024.07.31 |
---|---|
99클럽 코테 스터디 9일차 TIL (0) | 2024.07.30 |
99클럽 코테 스터디 4일차 TIL (0) | 2024.07.25 |
99클럽 코테 스터디 3일차 TIL (0) | 2024.07.24 |
99클럽 코테 스터디 2일차 TIL (0) | 2024.07.23 |