목록프린터 (2)
N
programmers.co.kr/learn/courses/30/lessons/42587?language=javascript 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 큐를 이용한 풀이. 대기 목록 중 최댓값이 큐의 맨 앞에 있는지 확인하면서, 내가 원하는 작업인지 체크해야 한다. 우선순위에 밀리는 경우 대기 목록의 맨 뒤에 넣으면서 location도 바꿔주면 된다. function solution(priorities, location) { let answer = 0; while(1){ let max = Ma..

큐 형태를 생각하면서 풀면 되는 문제..! 큐를 선언하면 되지만 for문 돌리면서 큐에 넣기 귀찮아서 그냥 벡터로 하였다... tmp 벡터에 priorities를 넣어주고, 내림차순으로 tmp를 정렬한다. 그리고 tmp.front()와 priorities.front()가 같지 않으면 location--를 해준다.(location == 0 이면, priorities.size() - 1을 해준다..!) 그 후 priorities.front()를 맨 마지막에 넣어준다. 만약 priorities.front()와 tmp.front()가 같고, location == 0이면 내가 요청한 문서가 프린터 되는 시점이다. 바로 return answer을 해주면 된다. 하지만 location != 0이면 내가 요청한 순서가..