본문 바로가기
코딩테스트/프로그래머스

[python][프로그래머스] 기능개발

by 신도리아 2023. 1. 17.

문제:

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

 

프로그래머스

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

programmers.co.kr


리뷰 : C언어 로직처럼 난잡하게 풀었는데, 코드를 간결하게 줄일 필요가 있다.


소스 코드 :

# progresses: 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 
# speeds : 작업의 개발 속도가 적힌 정수 배열
import math
def solution(progresses, speeds):
    finish,remain = [],[]
    
    for i in range(len(progresses)):
        temp = math.ceil((100-progresses[i])/speeds[i])
        remain.append(temp)
    
    #출력 테스트
    for i in range(len(remain)):
        print(remain[i],end=' ')
    
    i=0
    while i<len(remain):
        count = 1
        for j in range(i+1,len(remain)):
            if remain[i] >= remain[j]:
                count += 1
            else: break    
        finish.append(count)
        i += count
    
    return finish