본문 바로가기

Coding Test

[Programmers] 기능개발

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
반응형

'Coding Test' 카테고리의 다른 글

[Programmers] 올바른 괄호  (0) 2022.09.14
[Programmers] 가장큰수  (0) 2022.08.06
[Programmers] 도둑질  (0) 2022.08.04
[Programmers] 포켓몬  (0) 2022.07.19
[Programmers] 신규 아이디 추천  (0) 2022.06.26