Recent Posts
밍쯔와 안작고 안귀여운 에러들🖤
[Python] 프로그래머스 고득점 kit - 스택/큐: level2 기능개발 본문
문제
https://programmers.co.kr/learn/courses/30/lessons/42586
코드
from math import ceil
def solution(progresses, speeds):
cnt = 1
answer = []
## 필요한 작업일 리스트 생성
work_date = list(map(lambda x: (ceil((100-progresses[x])/speeds[x])), range(len(progresses))))
## 배포 일정
for i in range(len(work_date)):
try:
if work_date[i] >= work_date[i+1]:
cnt += 1
work_date[i+1] = work_date[i]
else:
answer.append(cnt)
cnt = 1
except IndexError:
answer.append(cnt)
return answer
설명
필요한 작업일 work_date[]를 만들고, 인덱스 값들을 순차적으로 비교하며 a가 b 보다 큰 날들을 하나의 배포일로 묶어서 answer[]에 넣는다.
고찰
문제 접근 방식은 괜찮았으나, 예외처리 사용이 익숙치 않아 고민을 오래함. 예외처리 사용에 익숙해지자!
스택/큐를 활용한 정석은 아닌 것 같다. pop/append를 활용한 코드도 고민해보자.
'Algorithm' 카테고리의 다른 글
[Python] 프로그래머스 - level1 신규 아이디 추천 (0) | 2022.03.07 |
---|---|
[Python] 프로그래머스 - level1 숫자 문자열과 영단 (0) | 2022.03.06 |
[Python] 프로그래머스 고득점 kit - 스택/큐: level2 다리를 지나는 트럭 (0) | 2022.02.26 |
[Python] 프로그래머스 고득점 kit - 스택/큐: level2 프린터 (0) | 2022.01.19 |
[Python] 프로그래머스 고득점 kit - 해시: level3 베스트 앨범 (0) | 2022.01.18 |