[알고리즘] 프린터 - 다시 풀기
·
알고리즘
들어가며 Queue - JavaScript를 먼저 공부한 다음 푼 문제입니다. 바로 풀리지 않거나 설명이 필요하다면 참고하는 것을 추천드립니다. 문제 설명 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다. 예를 들어, 4개의 문서(A, B, C, D)가 순..
[알고리즘] Queue - JavaScript
·
알고리즘/풀이 힌트
큐? First In First Out 개념을 가지고 있는 선형 자료구조이다. 먼저 들어간 자료가 먼저 나오는 방식이다. 자료를 넣는 것을 EnQueue, 빼는 것을 DeQueue라고 한다. JavaScript에서 사용하기 class Queue { constructor() { this.queue = []; this.front = 0; this.rear = 0; } enqueue(value) { this.queue[this.rear++] = value; } dequeue() { const value = this.queue[this.front]; delete this.queue[this.front]; this.front += 1; return value; } peek() { return this.queue[..
[알고리즘] Queue ( 큐 )
·
알고리즘/풀이 힌트
Queue : 데이터를 일시적으로 저장하기 위한 자료구조 가장 먼저 들어온 데이터가 가장 먼저 나가는 자료구조 ( FIFO : First In First Out) ex) 은행 창구 : 먼저 번호표를 뽑은 사람이 먼저 서비스를 받는다. Queue를 코드로 구현해보자면 import java.util.LinkedList; public class QueueEx { public static void main(String[] args) { Queue s = new Queue(); for(int i = 1; i