let's get IT with DAVINA ๐ป
[๋ฐฑ์ค #10828] ์คํ ๋ณธ๋ฌธ
์๊ณ ๋ฆฌ์ฆ ๊ฐ์๋ฅผ ๋ณด๋ฉด์ ์ฐ์ต๋ฌธ์ ํ์ด๋ฅผ C++๋ก ๋ค์ผ๋ ํ๋๋ ์ดํด๊ฐ ์๊ฐ์ ์ด๋ก ๋ง ์ฃผ๊ตฌ์ฅ์ฐฝ ๋น ๋ฅด๊ฒ ๋ดค๋ค.. ๊ฐ๋ ์ ๋ฐฐ์ ์ผ๋ฉด ๊ทธ์ ํด๋น๋๋ ๋ฌธ์ ๋ฅผ ํ๋๋ผ๋ ์ง์ ํ์ด๋ด์ผ๊ฒ ๋ค์ถ์ด์ ๋ฐฑ์ค์ ํ์ด๋ดค๋ค..(์ด๋ ต..)
โ ๋ฌธ์
์ ์๋ฅผ ์ ์ฅํ๋ ์คํ์ ๊ตฌํํ ๋ค์, ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ๋ช ๋ น์ ์ฒ๋ฆฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๋ช ๋ น์ ์ด ๋ค์ฏ ๊ฐ์ง์ด๋ค.
- push X: ์ ์ X๋ฅผ ์คํ์ ๋ฃ๋ ์ฐ์ฐ์ด๋ค.
- pop: ์คํ์์ ๊ฐ์ฅ ์์ ์๋ ์ ์๋ฅผ ๋นผ๊ณ , ๊ทธ ์๋ฅผ ์ถ๋ ฅํ๋ค. ๋ง์ฝ ์คํ์ ๋ค์ด์๋ ์ ์๊ฐ ์๋ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ค.
- size: ์คํ์ ๋ค์ด์๋ ์ ์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
- empty: ์คํ์ด ๋น์ด์์ผ๋ฉด 1, ์๋๋ฉด 0์ ์ถ๋ ฅํ๋ค.
- top: ์คํ์ ๊ฐ์ฅ ์์ ์๋ ์ ์๋ฅผ ์ถ๋ ฅํ๋ค. ๋ง์ฝ ์คํ์ ๋ค์ด์๋ ์ ์๊ฐ ์๋ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ฃผ์ด์ง๋ ๋ช ๋ น์ ์ N (1 ≤ N ≤ 10,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๋ช ๋ น์ด ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ์ ์๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ๋ฌธ์ ์ ๋์์์ง ์์ ๋ช ๋ น์ด ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ๋ ์๋ค.
์ถ๋ ฅ
์ถ๋ ฅํด์ผํ๋ ๋ช ๋ น์ด ์ฃผ์ด์ง ๋๋ง๋ค, ํ ์ค์ ํ๋์ฉ ์ถ๋ ฅํ๋ค.
๐๏ธ ์์ ์ ๋ ฅ
14
push 1
push 2
top
size
empty
pop
pop
pop
size
empty
pop
push 3
empty
top
๐๏ธ ์์ ์ถ๋ ฅ
2
2
0
2
1
-1
0
1
-1
0
3
โ๏ธ ๋น๋'s ํ์ด
๋ฐฑ์ค์ nodejs ์ธ์ด๋ก ํ๋ ค๋ฉด ๋ฏธ๋ฆฌ ์ ํ ํด์ผ๋๋๊ฒ ์์ด์ ์์ํ๊ณ ์ด ๋ถ๋ถ์ด ์๊ฐ์ด ๊ฑธ๋ ธ๋ค..
์กฐ๊ฑด๋ฌธ์ด ๋ณต์๊ฐ์ผ๋, if...else~๋ฌธ๋ณด๋ค switch๋ฌธ์ ์จ์
switch(condition) case()๋ฅผ ์ด์ฉํ๋๊ฒ ๊ฐ๋ ์ฑ์ด ๋ ์ข๋ค๊ณ ํ๋ค.
switch ๋ฌธ์ switch ๋ฌธ์ condition์ ํ๊ฐํ์ฌ ๊ทธ ๊ฐ๊ณผ ์ผ์นํ๋ ํํ์์ ๊ฐ๋ case ๋ฌธ์ผ๋ก ์คํ ์์๋ฅผ ์ด๋์ํจ๋ค.
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');
const stack = [];
const answer = []; //์ถ๋ ฅ์ฉ
const len = Number(input[0]); //๋งจ ์ฒ์์ ์
๋ ฅ๋๋ ์ซ์๊ฐ ๋ช
๋ น์ ๊ฐ์
for(let i=1;i<=len;i++){
let cmd=input[i].split(" "); //๋์ด์ฐ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด ๋๋๊ธฐ
switch(cmd[0]){ //๋ชจ๋ ๋ช
๋ น์ ์ฒซ๋ฒ์งธ ๊ธ์๊ฐ ๋ญ์ผ~push/top/size/empty/pop๋ญ์ฌ๋ญ์ฌ
case 'push' : stack.push(cmd[1]); //push๋ฉด? push 1์์ "1"์ stack์ ๋ฃ์ด์ค
break;
case 'pop' : answer.push(stack.pop()||-1);
break;
case 'size' : answer.push(stack.length);
break;
case 'empty' : answer.push(stack.length!==0? 0:1)
break;
case 'top': answer.push(stack[stack.length-1]||-1)
break;
}
}
console.log(answer.join("\n"))
'DEV_IN > ๋ฌธ์ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค #10808] ์ํ๋ฒณ ๊ฐ์ (0) | 2023.03.13 |
---|---|
[๋ฐฑ์ค] ์๊ณ ๋ฆฌ์ฆ nodejs๋ก ํ๊ธฐ setting (0) | 2023.03.13 |
[ํ๋ก๊ทธ๋๋จธ์ค] Lv0. ์ง๊ฐ์ผ๊ฐํ ์ถ๋ ฅํ๊ธฐ (0) | 2023.03.10 |
[ํ๋ก๊ทธ๋๋จธ์ค]Lv0. ์์ด์ค ์๋ฉ๋ฆฌ์นด๋ ธ (0) | 2023.03.09 |
[Error] octal literals are not allowed in strict mode (0) | 2023.03.09 |