프로그래머스 - LV.2 - 기능개발

Jong.-.HANA·2023년 7월 10일

프로그래머스 LV.2

목록 보기
5/6

나의 풀이

def solution(progresses, speeds):
    answer = []
    time = 0
    cnt = 0
    
    while len(progresses) > 0:
        if (progresses[0] + time*speeds[0]) >= 100: 
            progresses.pop(0)
            speeds.pop(0)
            cnt += 1
            
        else:
            if cnt > 0:
                answer.append(cnt)
                cnt = 0
            time += 1
    answer.append(cnt)
    return answer

다른 풀이

def solution(progresses, speeds):
    Q=[]
    for p, s in zip(progresses, speeds):
        if len(Q)==0 or Q[-1][0]<-((p-100)//s):
            Q.append([-((p-100)//s),1])
        else:
            Q[-1][1]+=1
    return [q[1] for q in Q]

문제 이해가 중요한 문제.
문제를 이해한 순간부터 FIFO 큐 자료구조를 활용하면서
문제를 풀었다.
계속 봐야할 문제!

복습 또 복습

profile
존경하는 인물: 현 수원삼성블루윙즈 감독 이정효

0개의 댓글