티스토리 뷰

728x90
반응형

문제

 

 

programmers.co.kr/learn/courses/30/lessons/42586

 

코딩테스트 연습 - 기능개발

프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는

programmers.co.kr

 

코드

def solution(progresses, speeds):
    answer = []
    count = 0
    time = 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

progresses 배열안에 숫자가 100이 되면 탈출할 수 있는데 다른 인덱스에 있는 수가 100이 되더라도 맨앞에 있에 있는 수가 100이 되어야 탈출을 할 수 있다.

 

그래서 0인덱스가 100보다 크게되면 pop(0)을 해서 맨 앞에 값이 나갈 수 있도록 하고 다시 while문을 돌게한다.

 

if문을 진행하고 progresses의 배열안에 아무것도 없게되면 else문에 못들어가서 answer에 append를 할 수 없기 때문에 while문 밖에도 answer.append를 쓴다.

 

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30