바위 뚫는중

[프로그래머스] Lv1. 기능개발 - 스택,큐 본문

Algorithms/프로그래머스

[프로그래머스] Lv1. 기능개발 - 스택,큐

devran 2023. 10. 27. 01:12
반응형

1️⃣ 기능개발

문제

https://school.programmers.co.kr/learn/courses/30/lessons/42586?language=python3

💡 아이디어

enumerate로 인덱스와 요소를 함께 반복해서

모든 기능을 1일씩 작업하고, 맨 앞 작업물이 100인게 있다면 카운트를 추가해준다

이떄 맨 앞이 100인게 여러개라면 여러개, 아니라면 하나만 출력하도록 할 것

📝 풀이

파이썬 array의 요소 삭제

  1. del : 인덱스로 삭제
  2. remove( ) 함수 : 값으로 삭제
def solution(progresses, speeds):
   
    result = []  # 각 배포마다 완료된 작업 수를 저장할 리스트

    while speeds:
        # 모든 작업 1일씩 업데이트
        for idx, speed in enumerate(speeds):
            progresses[idx] += speed
            print(progresses[idx])
        count = 0 

        # 작업물이 아직 있고, 맨 앞 작업물이 100일때
        while progresses and progresses[0] >= 100:
            # 맨 앞 작업물과 해당 속도 삭제 
            del progresses[0], speeds[0]
            count += 1 # 카운트 추가 
       
        # 배포될 작업 수를 결과 리스트에 추가
        if count > 0:
            result.append(count)

    return result
반응형