728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/42586
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
<풀이>
from collections import deque
def solution(progresses, speeds):
answer = []
progresses = deque(progresses)
speeds = deque(speeds)
day = 0
tmp = 0
while progresses:
p = progresses.popleft()
s = speeds.popleft()
for i in range(day,100):
if p + s*i >= 100:
tmp = tmp + 1
day = i
break
else:
if tmp > 0:
answer.append(tmp)
tmp = 0
if tmp !=0:
answer.append(tmp)
return answer
큐에 대한 기본 개념인 LIFO와 스택의 FIFO를 이해하고 있다면 풀 수 있다.
앞에 존재하는 기능이 완성되어야 배포가 가능하기 때문에 day값을 계속 누적해서 가져가야한다.
완성된 기능의 개수인 tmp 값이 0이 아닐때 즉 마지막으로 완성된 기능이 1개 이상일때는 직접 answer 리스트에 추가해줘야 한다.
728x90
반응형
'Algorithm & Data Structure' 카테고리의 다른 글
삼성SW 역량 기출 - 싸움땅(2022 하반기 오후 1번) (0) | 2023.10.13 |
---|---|
삼성 SW 역량평가 정리 (0) | 2023.10.09 |
백준 - 16139번(누적합) (0) | 2022.11.28 |
백준 - 11404번(플로이드) (0) | 2022.11.02 |
플로이드 워셜(Floyd Warshall) 알고리즘 (0) | 2022.11.02 |