Coding Test

[Programmers] 기능개발

da-da-da 2022. 7. 20. 23:27
728x90
반응형

문제

https://school.programmers.co.kr/learn/courses/30/lessons/42586

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

풀이과정

작업의 남은 기간을 (100-작업 진행상태)에서 속도로 나눈 값의 올림으로 계산할 수 있다.

남은 기간 배열에서 본인보다 작은 값에 대해서는 동일한 날짜에 배포가 되므로, 본인보다 큰 값이 나오기 전까지의 수를 카운트 한다.

 

Script

import math

def solution(progresses, speeds):
    
    remain = [math.ceil((100-p)/s) for p,s in zip(progresses, speeds)]
    compare = []
    answer = []
    for r in remain:
        if len(compare)==0:
            compare.append(r)
            continue
        if r <= compare[0]:
            compare.append(r)
            continue
        answer.append(len(compare))
        compare = []
        compare.append(r)
    answer.append(len(compare)) 
        
    return answer
728x90
반응형