알고리즘

[백준 10845번] 큐 - JavaScript

미누라니까요 2025. 2. 1. 17:16
728x90
반응형
SMALL

 

 

이전에 풀었던 스택 문제와 비슷하다.

이전 스택 코드에서 부분적으로 수정하여 제출하였다.

 

마찬가지로 JavaScript는 배열에 대하여 shift라는 메서드가 존재한다.

shift 는 첫번째 요소를 반환하는 메서드이다.

 

따라서 queue를 직접 구현하지 않고 코드를 작성하였다.

 

 

소스 코드

const input = require('fs')
	.readFileSync('/dev/stdin')
	.toString()
	.trim()
	.split('\n');

const num = +input.shift();
const queue = [];
const result = [];

input.forEach((sentence) => {
	const [command, value] = sentence.split(' ');

	if (command === 'push') {
		queue.push(Number(value));
	} else if (command === 'pop') {
		result.push(queue.length === 0 ? -1 : queue.shift());
	} else if (command === 'size') {
		result.push(queue.length);
	} else if (command === 'empty') {
		result.push(queue.length === 0 ? 1 : 0);
	} else if (command === 'front') {
		result.push(queue.length === 0 ? -1 : queue[0]);
	} else if (command === 'back') {
		result.push(queue.length === 0 ? -1 : queue[queue.length - 1]);
	}
});

console.log(result.join('\n'));
728x90
반응형
LIST