사용자 도구

사이트 도구


ps:problems:programmers:42586

기능개발

ps
링크https://programmers.co.kr/learn/courses/30/lessons/42586
출처프로그래머스
문제 번호42586
문제명기능개발
레벨Level 2
분류

기초

시간복잡도O(n)
인풋사이즈n <= 100
사용한 언어Python
해결날짜2021/05/21
태그

고득점 Kit - 스택/큐

풀이

  • 그냥 주어진대로 작성하면 끝. 이전 작업보다 현재 작업이 빨리 끝나면, 현재 작업은 이전 배포 예정일에 배포된다. 그렇지 않으면 현재 작업은 새로운 배포 날짜가 추가되어 그날 배포되게 된다.
  • 시간복잡도는 O(n)

코드

"""Solution code for "Programmers 42586. 기능개발".

- Problem link: https://programmers.co.kr/learn/courses/30/lessons/42586
- Solution link: http://www.teferi.net/ps/problems/programmers/42586
"""

import math


def solution(progresses, speeds):
    answer = []
    days_for_prev = 0
    for progress, speed in zip(progresses, speeds):
        days = math.ceil((100 - progress) / speed)
        if days <= days_for_prev:
            answer[-1] += 1
        else:
            days_for_prev = days
            answer.append(1)
    return answer

토론

댓글을 입력하세요:
C E L C E
 
ps/problems/programmers/42586.txt · 마지막으로 수정됨: 2021/05/21 07:25 저자 teferi