728x90
글의 요약 설명 부분. 150자를 적어주세요.
문제
https://school.programmers.co.kr/learn/courses/30/lessons/42586
코드
def solution(progresses, speeds):
answer = []
while progresses:
result = 0
while progresses and progresses[0] >=100:
result += 1
progresses.pop(0)
speeds.pop(0)
progresses = [progresses[i]+speeds[i] for i in range(len(progresses))]
if result:
answer.append(result)
return answer
다른 사람 코드
while len(progresses)> 0:
if (progresses[0] + time*speeds[0]) >= 100:
progresses.pop(0)
speeds.pop(0)
count += 1
else:
if count > 0:
answer.append(count)
count = 0
time += 1
answer.append(count)
return answer
def solution(progresses, speeds):
Q=[]
for p, s in zip(progresses, speeds):
if len(Q)==0 or Q[-1][0]<-((p-100)//s):
Q.append([-((p-100)//s),1])
else:
Q[-1][1]+=1
return [q[1] for q in Q]
접근법
progress가 있을 때 까지 돌면서 result로 체크
한 단계가 지날 때 마다 progresses를 리스트컴프레이션을 통해 한 단계씩 진행 했습니다
배운 점
'자료구조&알고리즘 > 프로그래머스' 카테고리의 다른 글
[Python] 디스크 컨트롤러 / 힙 (1) | 2024.02.10 |
---|---|
[Python] 더 맵게 - 힙 (1) | 2024.02.10 |
[Python] 프로세스 - 스택/큐 (0) | 2024.02.07 |
[Python] 올바른 괄호 - 스택/큐 (0) | 2024.02.06 |
[Python] 해시 - 폰켓몬 (0) | 2024.02.05 |