반응형
Notice
Recent Posts
Recent Comments
Link
It's easy, if you try
[프로그래머스] 프린터 (Python) 본문
반응형
문제
풀이
def solution(priorities, location):
answer = 0
pi_list = [(p, i) for (i, p) in enumerate(priorities)]
while pi_list:
prior = pi_list.pop(0)
# 밑에 코드 추가하니까 85점 -> 100점
if pi_list:
p_list = [priority for priority, idx in pi_list]
if p_list:
if prior[0] >= max(p_list):
if prior[1] == location:
return answer + 1
else:
answer += 1
else:
pi_list.append(prior)
변수설명
- pi_list : (우선순위, index) 로 저장된 튜플
- prior : 첫번째 대기 문서
- p_list : 남아있는 문서들의 우선순위 배열
나의 첫번째 알고리즘 문제이다!
많은 정답을 참고하고 이해하면서 풀어보았다
tuple과 enumerate에 대해 처음 알게 된 문제이다.
enmerate는 리스트를 순서와 리스트의 값을 한쌍으로 반환하는 함수이다.
최초 발행 날짜: 2020-02-15
반응형
'알고리즘 > 파이썬(Python)' 카테고리의 다른 글
[SW Expert Academy] 2043. 서랍의 비밀번호 (Python) (0) | 2021.02.14 |
---|---|
[프로그래머스] 이중 우선순위 큐 (Python) (0) | 2021.02.14 |
[프로그래머스] 위장 (Python) / 해시 (0) | 2021.02.13 |
[백준/boj] 1037: 약수 (Python) (0) | 2021.02.11 |
[백준/boj] 1057: 토너먼트 (Python) (0) | 2021.02.11 |
Comments