프로그래머스 2단계 "기능개발"

sanha_OvO·2021년 6월 24일
0

Algorithm

목록 보기
62/84

문제

프로그래머스 2단계 기능개발


풀이

큐의 개념을 이용하여 푼 문제.

주어진 리스트의 순서대로 소요되는 날짜를 구한다.

앞 작업이 끝나지 않으면 해당 작업이 출시되지 못하므로,
앞 작업이 소요되는 시간이 해당 작업이 소요되는 시간보다 길다면 앞 작업의 출시일에 +1을 해주고,
반대의 경우 출시일 리스트에 1을 추가해 준다.


Python 코드

def solution(progresses, speeds):
    que = []
    for i in range(len(progresses)):
        k = 100-progresses[i]
        if (k%speeds[i]) == 0:
            que.append(k//speeds[i])
        else:
            que.append((k//speeds[i])+1)
    print(que)

    answer = []
    check = 0
    for x in que:
        if not answer:
            check = x
            answer.append(1)
            continue
        
        if x > check:
            check = x
            answer.append(1)
        else:
            answer[-1] += 1

    return answer
profile
Web Developer / Composer

0개의 댓글