본문 바로가기
  • Staying curious, growing through questions
Python/코딩테스트

[프로그래머스 / 파이썬] LV2. 기능개발(스택/ 큐)

by Evergreen Mind 2024. 6. 28.

프로그래머스 스택/큐 문제 모음

 

문제 설명

솔직히 문제 보면 이게 한국말인데도 뭘 구하라는건지 잘 이해가 안된다... 너무 빨리 이해하려고 해서 그런가? 

종이랑 펜 주고 시간 넉넉히 주고 답 구하려고하면 할 수는 있을거같은데!

그런건가...?? 아님 내가 바보인가..

이것도 문제 풀다보면 익숙해지는걸까? 

 

 

문제 풀이

day는 1일, 2일, 3일 등 작업이 이루어지는 날의 수를 의미한다.

count는 하루에 배포되는 기능의 수를 세기 위한 변수이다. 

그리고 answer는 각 배포마다 몇개의 기능이 배포되는지를 return하기 위해, count를 저장하기 위한 list이다. 

def solution(progresses, speeds):
    day = 0 # 날짜 세기
    count = 0 # 배포되는 기능의 개수
    answer = [] # 배포되는 기능의 개수를 저장할 List
    
    while len(progresses) > 0 :
        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