Skip to content

Commit e4a333e

Browse files
committed
[Silver IV] Title: 큐, Time: 164 ms, Memory: 12016 KB -BaekjoonHub
1 parent a98119e commit e4a333e

2 files changed

Lines changed: 51 additions & 0 deletions

File tree

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# [Silver IV] 큐 - 10845
2+
3+
[문제 링크](https://www.acmicpc.net/problem/10845)
4+
5+
### 성능 요약
6+
7+
메모리: 12016 KB, 시간: 164 ms
8+
9+
### 분류
10+
11+
자료 구조, 큐
12+
13+
### 제출 일자
14+
15+
2025년 3월 21일 09:51:02
16+
17+
### 문제 설명
18+
19+
<p>정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.</p>
20+
21+
<p>명령은 총 여섯 가지이다.</p>
22+
23+
<ul>
24+
<li>push X: 정수 X를 큐에 넣는 연산이다.</li>
25+
<li>pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.</li>
26+
<li>size: 큐에 들어있는 정수의 개수를 출력한다.</li>
27+
<li>empty: 큐가 비어있으면 1, 아니면 0을 출력한다.</li>
28+
<li>front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.</li>
29+
<li>back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.</li>
30+
</ul>
31+
32+
### 입력
33+
34+
<p>첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다.</p>
35+
36+
### 출력
37+
38+
<p>출력해야하는 명령이 주어질 때마다, 한 줄에 하나씩 출력한다.</p>
39+

백준/Silver/10845. 큐/큐.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
let input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');
2+
let answer = [];
3+
let queue = [];
4+
for (let i = 1; i < input.length; i++) {
5+
if (input[i].includes('push')) queue.push(input[i].split(' ')[1]);
6+
else if (input[i].includes('pop')) answer.push(queue.length === 0 ? -1 : queue.shift());
7+
else if (input[i].includes('size')) answer.push(queue.length);
8+
else if (input[i].includes('empty')) answer.push(queue.length === 0 ? 1 : 0);
9+
else if (input[i].includes('front')) answer.push(queue.length === 0 ? -1 : queue[0]);
10+
else answer.push(queue.length === 0 ? -1 : queue[queue.length - 1]);
11+
}
12+
console.log(answer.join('\n'));

0 commit comments

Comments
 (0)