DevKim

[Python] 프로그래머스 Lv.2 - 기능개발 본문

알고리즘 PS

[Python] 프로그래머스 Lv.2 - 기능개발

on_doing 2021. 2. 11. 20:35
728x90

[ 알고리즘 ]

구현

 

[문제 접근]

진도율과 삭제 할 리스트를 따로 생성하여 넣고 지우며 배포되는 기능의 갯수를 구함

 

[코드]

import math
def solution(progresses, speeds):
    answer = []
    result=[]
    remove=[]
    n=len(progresses)
    
    for i in range(n):
        k=math.ceil((100-progresses[i])/speeds[i])
        result.append(k)
        
    while True:
        if n==0:
            break
        s=result[0]
        cnt=0
        
        for i in result:
            if i<=s:
                cnt+=1
                remove.append(i) #지울 것
                n-=1
            else:
                break
                
        if cnt==0:
            cnt=1
            n-=1
        
        #카운트 한 것은 지움
        for r in remove:
            result.remove(r)
            
        remove.clear()
            
        answer.append(cnt)
        
    return answer
728x90
Comments