프로그래머스/level 2
[프로그래머스] 프린터
binaryJournalist
2022. 5. 11. 21:10
반응형
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
** Python
def solution(priorities, location):
answer = 0
queue = [(i, priority) for i, priority in enumerate(priorities)]
while True:
now = queue.pop(0)
if any(now[1] < q[1] for q in queue):
queue.append(now)
else:
answer += 1
if now[0] == location:
return answer
return answer
any는 javascript 의 some과 유사한 기능을 한다.
if (queue.some(q => q[1] > now[1])
참고: https://jinomadstory.tistory.com/17
[프로그래머스] '프린터' 알고리즘 풀이 - Python
Contents 문제 설명 [제한사항] [입출력 예] 알고리즘 분석 [나의 풀이] [Most 1의 풀이] [Most 2의 풀이] 문제 설명 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요
jinomadstory.tistory.com
** Javascript
function solution(priorities, location) {
var answer = 0;
let queue = priorities.map((p, i) => ([i, p]));
while (true) {
const now = queue.shift();
if (queue.some(q => q[1] > now[1])) {
queue.push(now);
} else {
answer++;
if (now[0] == location) return answer;
}
}
return answer;
}
반응형