일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- boostcourse
- 구현
- 프로그래머스
- Customer service 구현
- 대회
- AI Tech
- 백준
- cs50
- Django
- 서블릿
- 서버
- AI Tech 4기
- 풀스택
- QNA 봇
- 웹
- 백엔드
- Naver boostcourse
- BOJ
- sts
- 웹 프로그래밍
- 네이버
- 프로그래밍
- P Stage
- 4기
- 부스트캠프
- 파이썬
- Naver boostcamp
- 2021 Dev-matching 웹 백엔드 개발자
- 장고
- 레벨2
Archives
- Today
- Total
daniel7481의 개발일지
[프로그래머스]기능 개발 본문
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/42586
풀이
간단한 우선순위 큐 문제였다. 큐가 빌 때까지 계속 speed를 더해주고 만약 100이 넘었다면 progresses와 speeds 둘다 빼주면 된다. 한 번에 몇 명 나왔는지 cnt에 할당하여 리스트에 넣어주었다.
from collections import deque
def solution(progresses, speeds):
answer = []
progresses = deque(progresses)
speeds = deque(speeds)
while progresses:
for i in range(len(progresses)):
progresses[i] += speeds[i]
cnt = 0
a = progresses.popleft()
if a >= 100:
cnt += 1
speeds.popleft()
while progresses:
print(progresses)
b = progresses.popleft()
if b >= 100:
cnt +=1
speeds.popleft()
else:
progresses.appendleft(b)
break
answer.append(cnt)
else:
progresses.appendleft(a)
return answer
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스]짝지어 제거하기 (0) | 2022.07.19 |
---|---|
[프로그래머스]괄호 변환(level2) (0) | 2022.07.19 |
[프로그래머스]오픈채팅방 (0) | 2022.07.15 |
[프로그래머스]2022 KAKAO BLIND RECRUITMENT 신고 결과 받기 (0) | 2022.03.24 |
[프로그래머스] 뉴스 클러스터링(2018 KAKAO BLIND RECRUITMENT) (0) | 2021.12.20 |