티스토리 뷰
소감
- for문으로 풀려고 했으나 구현이 쉽지 않았다.
- 어느 시점에 result에 배포갯수를 추가할지 정하기 어려웠다.
- stack의 경우는 stack_list.pop(), queue의 경우는 FIFO 성질을 이용, queue_list.pop(0) 을 활용하는 문제가 많다고 한다.
- 이런 식의 사고과정에 익숙해져야 할 것 같다.
문제 접근하기
- 스택과 큐를 활용하면 보다 쉽게 풀 수 있다.
- 주어진 리스트에서 pop(0) 하여 큐의 성질을 활용한다. while문을 돌리며 pop(0) 하면 for문을 대체할 수 있다.
- 각 기능이 언제 배포되는지, 몇 개의 기능이 배포되는지를 계산하기 위해 변수 time 과 count를 설정한다.
- 언제 count를 초기화할지 정한다. => 기존의 time 값으로 일처리를 계산했는데 완성하지 못했다 + 그런데 count가 0 아 아닌 상태이다. == 이전 완성된 작업들을 출시해야 한다. => answer 리스트에 append하고 count는 초기화한다.
- 리스트를 다 돌면 마지막 count를 answer 리스트에 append 한다.
def solution(progresses, speeds):
answer = []
time = 0
count = 0
while len(progresses) > 0:
if (progresses[0] + time*speeds[0]) >= 100:
progresses.pop(0)
speeds.pop(0)
count += 1
else:
if count > 0:
answer.append(count)
count = 0
time += 1
answer.append(count)
return answer
'Algorithm' 카테고리의 다른 글
[1-2][DP] 거듭제곱 빠르게 구현하기 (0) | 2021.10.12 |
---|---|
[1-1][Brute Force] 투자귀재 규식이1 (0) | 2021.10.12 |
[DP] 피보나치 수열 메모이제이션 (0) | 2021.10.12 |
파이썬 SW문제해결 응용_구현 - 03 탐욕 알고리즘 (0) | 2021.10.06 |
[SWEA][완전탐색] 순열, 조합, 부분집합 (0) | 2021.10.05 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- SSAFY
- 임대차3법
- 개발자커리
- ssafy6기
- 클린코더
- 개발자로드맵
- 깃허브계정2개
- ssafy후기
- 깃허브계정
- 개발자도서추천
- 무료폰트추천
- 폰트
- 상업용무료폰트
- 폰트추천
- ssafy결과
- 개발언어순위
- 개발언어추천
- 코딩도서
- 클린코드
- 디즈니얼굴
- 한글무료폰트추천
- ssafy합격후기
- 싸피
- 개발자
- 개발도서추천
- 브왈라
- 개발자책추천
- 싸피6기
- intj여자
- 맥과윈도우로깃허브
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함