프로그래머스 - 기능개발

이숭인·2021년 6월 23일
0

알고리즘 문제풀이

목록 보기
6/17

2. 기능개발

[이동] 기능개발 - 프로그래머스

풀이:
1. 가장 앞에있는 기능이 완료될 때 그 뒤로도 완료된것이 있는지 확인하고 있다면 찾아서 pop(0)

코드:

def solution(progresses, speeds):
    answer = list()

    while(progresses):
        count = 0
        for index,(_,speed) in enumerate(zip(progresses,speeds)):
            progresses[index] += speed
        for item in progresses:
            if item < 100:
                break
            count += 1

        for _ in range(count):
            progresses.pop(0)
            speeds.pop(0)

        if count > 0:
            answer.append(count)

    return answer


solution([93, 30, 55],[1, 30, 5])

다른사람풀이 :
1. time이라는 변수를 사용해 1일 2일 ,, 마다의 진행률을 구함


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

0개의 댓글