728x90
<문제 링크>
https://programmers.co.kr/learn/courses/30/lessons/42587
<문제 풀이>
- priorities값과 해당 값의 배열 위치를 q에 저장
- 문제에서 제시한 방법대로 알고리즘을 구현
<코드>
#1차 시도. 2,5,18 실패.
def solution(priorities, location):
q = []
count = 0
for idx, i in enumerate(priorities):
q.append((idx,i))
while q:
tmp = q.pop(0)
if tmp[1] < max(q ,key=lambda x:x[1])[1]:
q.append(tmp)
else:
count += 1
if tmp[0] == location:
break
return count
#while 문에서 만약 q에서 꺼낸 원소가 마지막이었을 경우를 고려
def solution(priorities, location):
q = []
count = 0
for idx, i in enumerate(priorities):
q.append((idx,i))
while q:
tmp = q.pop(0)
if q==[]:
count += 1
break
if tmp[1] < max(q ,key=lambda x:x[1])[1]:
q.append(tmp)
else:
count += 1
if tmp[0] == location:
break
return count
<고쳐야 할 점>
- 다양한 테스트 케이스 생각해보기
'두두의 알고리즘 > 문제' 카테고리의 다른 글
[동적계획법] 난이도1.5, Google 인터뷰 '못생긴 수' (Python) (0) | 2021.12.15 |
---|---|
[동적계획법] 난이도1.5, Flipkart 인터뷰 '금광' (Python) (0) | 2021.12.13 |
[동적계획법] 난이도2, 이취코 220p '개미 전사' (Python) (0) | 2021.11.29 |
[탐욕법] 난이도1, 2019 SW 마에스트로 입학 테스트 '볼링공 고르기' (Python) (0) | 2021.11.26 |
[동적계획법] 프로그래머스 L3 '정수 삼각형' (Python) (0) | 2021.11.26 |