문제
각 배포마다 몇 개의 기능이 배포되는지가 return값이다.
주의할 점은 뒤에 있는 기능이 먼저 개발되더라도 앞에 있는 기능이 배포될 때 함께 배포된다는 점이다.
주어지는 배열은 2가지로 progresses(작업의 개수)와 speeds(작업의 개발 속도)이다.
코드
def solution(progresses, speeds):
answer = []
day = 0
count = 0
while progresses:
if (progresses[0] + day*speeds[0]) >= 100:
progresses.pop(0)
speeds.pop(0)
count += 1
else:
if count > 0:
answer.append(count)
count = 0
day += 1
answer.append(count)
return answer
return값 answer 배열과 정수 변수 day와 count를 사용했다.
progresses가 0이 아닐 때 while문이 계속 실행된다.
그 안에 if문을 넣어줬는데 progresses의 처음 값과 지난 day와 속도를 곱한 값이 100 넘을 때 pop으로 입력받은 두 배열의 값을 없애준다. count값을 1씩 증가 시켜준다.
else로 가게 되면 count 값이 0보다 클 때 answer 배열에 추가해주고 0으로 초기화시켜준다.
day 변수의 값은 증가시켜준다. 마지막으로 append를 통해 answer 배열에 추가해준다.
참고 링크 : https://huidea.tistory.com/15
'Programming > Python' 카테고리의 다른 글
[프로그래머스] 힙(Heap) - 더 맵게 (Python3, 파이썬) (0) | 2022.01.30 |
---|---|
[프로그래머스] 스택/큐 - 주식가격 (Python3, 파이썬) (0) | 2022.01.29 |
[프로그래머스] 스택/큐 - 다리를 지나는 트럭 (Python3, 파이썬) (0) | 2022.01.29 |
[프로그래머스] 스택/큐 - 프린터 (Python3, 파이썬) (0) | 2022.01.29 |
[프로그래머스] 코딩테스트 연습 - 해시 (Python3, 파이썬) (0) | 2022.01.23 |