티스토리 뷰
728x90
반응형
문제
programmers.co.kr/learn/courses/30/lessons/42586
코드
def solution(progresses, speeds):
answer = []
count = 0
time = 0
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
progresses 배열안에 숫자가 100이 되면 탈출할 수 있는데 다른 인덱스에 있는 수가 100이 되더라도 맨앞에 있에 있는 수가 100이 되어야 탈출을 할 수 있다.
그래서 0인덱스가 100보다 크게되면 pop(0)을 해서 맨 앞에 값이 나갈 수 있도록 하고 다시 while문을 돌게한다.
if문을 진행하고 progresses의 배열안에 아무것도 없게되면 else문에 못들어가서 answer에 append를 할 수 없기 때문에 while문 밖에도 answer.append를 쓴다.
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Level3, 2 x n 타일링 (Python) (0) | 2021.05.05 |
---|---|
[프로그래머스] Level2, 위장 (Python) (0) | 2021.05.02 |
[프로그래머스] Level2, 다음 큰 숫자 (Python) (0) | 2021.05.02 |
[프로그래머스] Level2, 주식가격 (Python) (0) | 2021.04.30 |
[프로그래머스] Level 1, 같은숫자는 싫어 (Python) (0) | 2021.03.18 |
댓글