Algorithm/프로그래머스
[프로그래머스] 기능개발 (Python)
에릭 Kim
2023. 5. 26. 15:55
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/42586
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
소스코드
풀이
★ 매개변수로 받은 리스트를 왼쪽에서부터 차례대로 출력해줘야 하기 때문에 FIFO 구조를 띄는 '큐'를 사용하여 문제를 풀었습니다.
★ times라는 변수를 선언해 작업진도 + (times*작업속도)를 계산해줬습니다. 만약 이 값이 100이거나 100보다 크다면 작업이 완료된 것이기에 큐에서 pop해줍니다. 또한 저희는 갯수를 출력해야하기 때문에 cnt 변수도 +1 해줍니다.
★ 예시 입력을 기준으로 첫번째 기능개발이 끝났을 때 times 변수에는 7이 들어가있을 것입니다. 이를 다시 if문에 대입해보게 된다면 조건문이 true가 나오게 되고, 해당 값은 큐에서 pop되며 cnt또한 1 증가합니다.
★ 마지막 값인 55는 그 전 값들보다 times가 더 많이 필요합니다. 이 때 저희는 개발이 끝난 기능들을 배포할 수 있습니다. 이때 cnt는 2였고, 조건문을 통해 cnt >0, answer에 cnt를 추가해주고, cnt를 다시 0으로 만들어 줍니다 !
반응형