Python/CoTe

[programmers] 기능 개발

joannekim0420 2022. 3. 4. 16:06
728x90

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

 

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

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

programmers.co.kr

 

 

 

from collections import deque 

def solution(progresses, speeds):
    answer = []
    day = [0 for i in range(len(speeds))]
    for i, (p, s) in enumerate(zip(progresses, speeds)):
        while p < 100:
            if p >= 100:
                day+= 1
                break
            p += s
            day[i] += 1
    
    q = deque(day)
    start = q.popleft()
    tmp= 1
    while q:
        next_ = q.popleft()
        if start>=next_:
            tmp += 1
        else:
            answer.append(tmp)
            tmp = 1
            start = next_
        if len(q) == 0:
            answer.append(tmp)
    return answer

1. progresses 와 speed를 zip으로 하여 각 작업 끝나는데 걸리는 시간을 배열에 저장한다.

2. 이 배열을 deque로 돌며 앞의 작업이 뒤에 작업보다 걸린 시간이 많은 작업의 개수를 세어 한 번에 배포.

 

프로그래머스 level1 다 풀고 level2로 올라왔는데, 실력부족 느낌..

level1도 처음 몇 문제는 한 줄 코드 잘 못 쓰고, 생각보다 오래 걸렸던 것 생각하면 

level2도 곧 적응해서 쉽게 풀 수 있는 문제가 많겠지?

'Python > CoTe' 카테고리의 다른 글

[programmers] 게임 맵 최단거리  (0) 2022.03.09
[programmers] 전화번호 목록  (0) 2022.03.06
[programmers] 1차 다트 게임  (0) 2022.03.03
[programmers] 키패드 누르기  (0) 2022.03.03
[programmers] 3진법 뒤집기  (0) 2022.03.03