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 |