Skip to content

Commit 96d63c4

Browse files
[Silver IV] Title: ํ, Time: 104 ms, Memory: 12024 KB -BaekjoonHub
1 parent 0b11730 commit 96d63c4

2 files changed

Lines changed: 80 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+
๋ฉ”๋ชจ๋ฆฌ: 12024 KB, ์‹œ๊ฐ„: 104 ms
8+
9+
### ๋ถ„๋ฅ˜
10+
11+
์ž๋ฃŒ ๊ตฌ์กฐ, ํ
12+
13+
### ์ œ์ถœ ์ผ์ž
14+
15+
2025๋…„ 1์›” 8์ผ 09:28:42
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+
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
var fs = require("fs");
2+
var input = fs.readFileSync("/dev/stdin").toString().split("\n");
3+
let length = parseInt(input[0], 10);
4+
5+
let queue = [];
6+
let frontIndex = 0;
7+
let output = [];
8+
9+
for (let i = 1; i <= length; i++) {
10+
let row = input[i].split(" ");
11+
let command = row[0];
12+
13+
if (command === "push") {
14+
queue.push(row[1]);
15+
} else if (command === "pop") {
16+
if (queue.length === frontIndex) {
17+
output.push("-1");
18+
} else {
19+
output.push(queue[frontIndex]);
20+
frontIndex++;
21+
}
22+
} else if (command === "size") {
23+
output.push(queue.length - frontIndex);
24+
} else if (command === "empty") {
25+
output.push(queue.length === frontIndex ? "1" : "0");
26+
} else if (command === "front") {
27+
if (queue.length === frontIndex) {
28+
output.push("-1");
29+
} else {
30+
output.push(queue[frontIndex]);
31+
}
32+
} else if (command === "back") {
33+
if (queue.length === frontIndex) {
34+
output.push("-1");
35+
} else {
36+
output.push(queue[queue.length - 1]);
37+
}
38+
}
39+
}
40+
41+
console.log(output.join("\n"));

0 commit comments

Comments
ย (0)