๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ฐฑ์ค€ ๋ฌธ์ œ ํ’€์ด

[๋ฐฑ์ค€] 10845๋ฒˆ_์•Œ๊ณ ๋ฆฌ์ฆ˜_์ž๋ฃŒ๊ตฌ์กฐ_ํ

 

 

๋ฌธ์ œ

์ •์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ํ๋ฅผ ๊ตฌํ˜„ํ•œ ๋‹ค์Œ, ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๋ช…๋ น์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

๋ช…๋ น์€ ์ด ์—ฌ์„ฏ ๊ฐ€์ง€์ด๋‹ค.

- push X: ์ •์ˆ˜ X๋ฅผ ํ์— ๋„ฃ๋Š” ์—ฐ์‚ฐ์ด๋‹ค.

- pop: ํ์—์„œ ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ์ •์ˆ˜๋ฅผ ๋นผ๊ณ , ๊ทธ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ํ์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•œ๋‹ค.

- size: ํ์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

- empty: ํ๊ฐ€ ๋น„์–ด์žˆ์œผ๋ฉด 1, ์•„๋‹ˆ๋ฉด 0์„ ์ถœ๋ ฅํ•œ๋‹ค.

- front: ํ์˜ ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ์ •์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ํ์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•œ๋‹ค.

- back: ํ์˜ ๊ฐ€์žฅ ๋’ค์— ์žˆ๋Š” ์ •์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ํ์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•œ๋‹ค.

์Šคํƒ๊ณผ ํ

์Šคํƒ์€ ํ†ต์กฐ๋ฆผ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค.

ํ† ๋งˆํ†  ํ†ต์กฐ๋ฆผ์—์„œ ๋งจ ์•„๋ž˜์— ์žˆ๋Š” ํ† ๋งˆํ† ๋ฅผ ๋นผ๊ธด ํž˜๋“ค๋‹ค.

๋งจ ์œ„์— ์žˆ๋Š” ํ† ๋งˆํ† ๋ถ€ํ„ฐ ๊บผ๋‚ด์•ผ ํ•œ๋‹ค.

ํ† ๋งˆํ†  ํ†ต์กฐ๋ฆผ์„ ๋งŒ๋“ค ๋•Œ ๊ฐ€์žฅ ์ฒ˜์Œ ๋“ค์–ด๊ฐ„ ํ† ๋งˆํ† ๋Š” ๋งจ ์•„๋ž˜์— ์žˆ๋Š” ํ† ๋งˆํ† ์ด๊ณ , ๊ฐ€์žฅ ๋‚˜์ค‘์— ๋“ค์–ด๊ฐ„ ํ† ๋งˆํ† ๋Š” ๋งจ ์œ„์— ์žˆ๋Š” ํ† ๋งˆํ† ์ด๋‹ค.

ํ† ๋งˆํ†  ํ†ต์กฐ๋ฆผ์„ ๋จน๋Š” ์‚ฌ๋žŒ์€ ๊ฐ€์žฅ ๋‚˜์ค‘์— ๋“ค์–ด๊ฐ„ ํ† ๋งˆํ† ๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ๋จน๊ฒŒ ๋œ๋‹ค.

์ด๊ฒƒ์ด ๋ฐ”๋กœ, ํ›„์ž…์„ ์ถœ(LIFO : Last-In First-Out)์ด๋‹ค.

์˜์–ด ํ•ด์„ ๊ทธ๋Œ€๋กœ "๋‚˜์ค‘์— ๋“ค์–ด์˜จ ๊ฒƒ์ด ๋จผ์ € ๋‚˜๊ฐ„๋‹ค."๋ผ๋Š” ๋œป์ด๋‹ค.

์Šคํƒ๋„ ์ด์™€ ๊ฐ™๋‹ค.

์Šคํƒ์— ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๋ฉด ๊ฐ€์žฅ ์•„๋ž˜๋ถ€ํ„ฐ ์ฐจ๊ณก์ฐจ๊ณก ์Œ“์—ฌ์ง€๊ณ , ์‚ญ์ œ๋ฅผ ํ•˜๋ฉด ๊ฐ€์žฅ ์œ„๋ถ€ํ„ฐ ์‚ฌ๋ผ์ง„๋‹ค.

โ€‹

ํ๋Š” ํ„ฐ๋„์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค.

<a href=' https://kr.freepik.com/vectors/car'>Car  ๋ฒกํ„ฐ๋Š” vectorpocket - kr.freepik.com๊ฐ€ ์ œ์ž‘ํ•จ</a>

ํ„ฐ๋„์—์„œ๋Š” ์ถ”์›”์„ ํ•˜๋ฉด ์•ˆ ๋œ๋‹ค.

์ฆ‰, ํ„ฐ๋„์— ๋จผ์ € ๋“ค์–ด๊ฐ„ ์ฐจ๊ฐ€ ๋จผ์ € ๋‚˜๊ฐ€์•ผ ํ•œ๋‹ค.

ํ„ฐ๋„์— ๊ฐ€์žฅ ๋จผ์ € ๋“ค์–ด๊ฐ„ ์ฐจ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ํ„ฐ๋„์„ ๋‚˜์˜จ๋‹ค.

์ด๊ฒƒ์ด ๋ฐ”๋กœ, ์„ ์ž…์„ ์ถœ(FIFO : First-In First-Out)์ด๋‹ค.

ํ๋„ ์ด์™€ ๊ฐ™๋‹ค.

ํ์— ๊ฐ€์žฅ ์ฒ˜์Œ ๋“ค์–ด์˜จ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ๋‚˜๊ฐ€๊ฒŒ ๋œ๋‹ค.

์Šคํƒ์€ ๊ตฌ๋ฉ์ด ํ•˜๋‚˜์ธ ํ†ต์กฐ๋ฆผ๊ณผ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— ๋จผ์ € ๋“ค์–ด๊ฐ„ ๋ฐ์ดํ„ฐ๋Š” ๊ฐ€์žฅ ๋‚˜์ค‘์— ๋‚˜๊ฐ€๊ฒŒ ๋˜์ง€๋งŒ,

ํ๋Š” ๊ตฌ๋ฉ์ด ๋‘ ๊ฐœ ์žˆ๋Š” ํ„ฐ๋„๊ณผ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— ๋จผ์ € ๋“ค์–ด๊ฐ„ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ๋‚˜๊ฐ€๊ฒŒ ๋œ๋‹ค.

โ€‹

ํ์˜ ์ข…๋ฅ˜์—๋Š” ์„ ํ˜• ํ์™€ ์›ํ˜• ํ๊ฐ€ ์žˆ๋‹ค.

์„ ํ˜• ํ๋Š” ์ผ์ž๋กœ ๋œ ์ฃผ์ฐจ์žฅ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์ดํ•ด๊ฐ€ ์‰ฝ๋‹ค.

๋งจ ์•ž์— ์žˆ๋Š” ์ฐจ๊ฐ€ ๋‚˜๊ฐ€๊ณ  ๋‚œ ๋นˆ์ž๋ฆฌ๋Š” ์ฐจ์ง€ ์•Š๊ณ  ๊ทธ ๋’ค๋ถ€ํ„ฐ ์ฐจ๊ฐ€ ์ฑ„์›Œ์ง„๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.

๋งจ ์•ž์˜ ์ฃผ์ฐจ๊ณต๊ฐ„์€ ๊ณ„์† ๋น„์–ด์ ธ ์žˆ์–ด ๋น„ํšจ์œจ์ ์ธ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜๊ฒŒ ๋œ๋‹ค.

์ฆ‰, ์„ ํ˜• ํ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ฒ˜์Œ ๋“ค์–ด์˜จ ์ž๋ฆฌ์— ๊ณ ์ •๋˜์–ด ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•ด๋„ ๋น„์–ด์žˆ๋Š” ์ธ๋ฑ์Šค๋กœ ๋‚จ๊ฒŒ ๋˜์–ด ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•˜๋‹ค.

์›ํ˜• ํ๋Š” ์„ ํ˜• ํ์˜ ๋‹จ์ ์„ ๊ทน๋ณตํ•œ ํ๋กœ, ์›ํ˜•์œผ๋กœ ๋œ ์„ ํ˜• ํ์ด๋‹ค.

๋ฐ์ดํ„ฐ๊ฐ€ ํ์˜ ์ตœ๋Œ€ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด๊ฐ€๊ฒŒ ๋˜๋ฉด ๋™์ ์œผ๋กœ ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋กœ ๋Œ์•„๊ฐ€๊ฒŒ ํ•œ๋‹ค.


์ฝ”๋“œ ์„ค๋ช…

1. ์‚ฌ์šฉํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

#include <cstring>

strcmp๋ฅผ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.

โ€‹

2. ๊ด‘์—ญ ๋ณ€์ˆ˜

๋ชจ๋“  ์ง€์—ญ์—์„œ ์“ธ ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜์ด๋‹ค.

๋‹จ, ๋ฐ˜๋“œ์‹œ ๊ด‘์—ญ ๋ณ€์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜๊ธฐ ์ „์— ์„ ์–ธ์ด ๋˜์–ด์žˆ์–ด์•ผ ํ•œ๋‹ค.

์ด ๋ฌธ์ œ์—์„œ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐ›๋Š” ๋ช…๋ น์„ ๋‹ด๋Š” stack ๋ฐฐ์—ด๊ณผ ๋ฐฐ์—ด์˜ ๊ฐ€์žฅ ์œ„์— ์žˆ๋Š” ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” address ๋ณ€์ˆ˜๋ฅผ ๊ด‘์—ญ ๋ณ€์ˆ˜๋กœ ์„ ์–ธํ–ˆ๋‹ค.

๋ฐฐ์—ด์˜ ์ฃผ์†Œ๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ address๋Š” -1๋กœ ์ง€์ •ํ•˜์˜€๊ณ , ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ฌ ๋•Œ(push ํ•จ์ˆ˜) -1์— 1์„ ๋”ํ•œ 0์œผ๋กœ ๋ฐ”๊พธ์–ด ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค์— ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค.

โ€‹

3. push ํ•จ์ˆ˜

void push(int x)

{

que[++address] = x;

}

์ •์ˆ˜ x๋ฅผ ํ์— ๋„ฃ๋Š” ํ•จ์ˆ˜์ด๋‹ค.

ํ˜„์žฌ ๋ฐฐ์—ด์€ ์ด๋ฏธ ๊ฐ’์ด ์ €์žฅ๋˜์–ด ์žˆ๊ฑฐ๋‚˜, ๋ฐฐ์—ด์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—(address๊ฐ€ -1์ผ ๋•Œ)

++address๋ฅผ ํ•ด์ฃผ์–ด ๋ฐฐ์—ด์˜ ์ฃผ์†Œ๋ฅผ ํ•˜๋‚˜ ๋”ํ•ด์ค€๋‹ค.

address++๋กœํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋Š”๋ฐ ์ด๋Ÿด ๋•Œ๋Š” ๋ฌธ์žฅ์„ ์‹คํ–‰ํ•œ ๋’ค์— ํ•˜๋‚˜๋ฅผ ๋”ํ•œ๋‹ค.

๋ฐ˜๋ฉด์— ++address๋Š” ๋ฌธ์žฅ์ด ์‹คํ–‰๋˜๊ธฐ ์ „์— ํ•˜๋‚˜๋ฅผ ๋”ํ•˜๊ณ  ๋ฌธ์žฅ์„ ์‹คํ–‰ํ•œ๋‹ค.

โ€‹

4. pop ํ•จ์ˆ˜

void pop()

{

int top_pop = 0;

if (address < 0) cout << "-1\n";

else {

top_pop = que[0];

for (int i = 0; i < address; i++) {

que[i] = que[i + 1];

}

que[address--] = 0;

cout << top_pop << "\n";

}

}

ํ์—์„œ ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ์ •์ˆ˜(๋ฐฐ์—ด์˜ 0๋ฒˆ ์ธ๋ฑ์Šค)๋ฅผ ์‚ญ์ œํ•˜๊ณ , ๊ทธ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ํ์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

๋ฐฐ์—ด์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” address ๋ณ€์ˆ˜๊ฐ€ 0๋ณด๋‹ค ์ž‘์„ ๋•Œ๋Š”, ๋ฐฐ์—ด์— ๋‹ด๊ธด ๊ฐ’์ด ์—†๋‹ค๋Š” ๋œป์ด๋ฏ€๋กœ -1์„ ์ถœ๋ ฅํ•˜๊ณ ,

๋ฐฐ์—ด์— ๋‹ด๊ธด ๊ฐ’์ด ์žˆ์„ ๋•Œ๋Š”, ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ๊ฐ’(๋ฐฐ์—ด์˜ 0๋ฒˆ ์ธ๋ฑ์Šค)์„ top_pop ๋ณ€์ˆ˜์— ๋‹ด๋Š”๋‹ค.

ํ๋Š” ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ์‚ญ์ œ๋˜๊ณ  ๊ทธ ์ธ๋ฑ์Šค๊ฐ€ ๋น„์–ด์žˆ๋Š” ์ธ๋ฑ์Šค๋กœ ๋‚จ์•„ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‚ญ๋น„ํ•œ๋‹ค.

์ด๋Ÿฌํ•œ ์ ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ญ์ œ๋˜๋ฉด ๊ทธ ๋’ค์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋“ค์„ ํ•˜๋‚˜์”ฉ ์•ž์œผ๋กœ ์˜ฎ๊ฒจ์ฃผ์—ˆ๋‹ค.

๊ฐ€์žฅ ๋’ค์— ์žˆ๋Š” ๊ฐ’์„ 0์œผ๋กœ ๋ฐ”๊พธ์–ด ์—†์• ๊ณ , address๋ฅผ ํ•˜๋‚˜ ์ค„์—ฌ์„œ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ์ค„์ธ๋‹ค.

๊ทธ๋‹ค์Œ, ์‚ญ์ œํ•  ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ๊ฐ’์„ ๋‹ด์€ top_pop์„ ์ถœ๋ ฅํ•œ๋‹ค.

์ค„๋ฐ”๊ฟˆ์€ endl๋กœ๋„ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์ˆ˜ํ–‰ ์‹œ๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•ด "\n"์œผ๋กœ ๋Œ€์ฒดํ•œ๋‹ค.

โ€‹

5. size ํ•จ์ˆ˜

void size()

{

cout << address + 1 << "\n";

}

๋ฐฐ์—ด์˜ ์ฃผ์†Œ๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, size๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 1์„ ๋”ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

โ€‹

6. empty ํ•จ์ˆ˜

void empty()

{

if (address < 0) cout << "1\n";

else cout << "0\n";

}

ํ๊ฐ€ ๋น„์–ด์žˆ์œผ๋ฉด 1, ์•„๋‹ˆ๋ฉด 0์„ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

address๊ฐ€ 0๋ณด๋‹ค ์ž‘์œผ๋ฉด ๋ฐฐ์—ด์— ๋‹ด๊ธด ๊ฒŒ ์—†๋‹ค๋Š” ๋œป์ด๋ฏ€๋กœ, 1์„ ์ถœ๋ ฅํ•˜๊ณ , 0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด ๋ฐฐ์—ด์— ํ•˜๋‚˜ ์ด์ƒ ๋‹ด๊ฒจ ์žˆ๋‹ค๋Š” ๋œป์ด๋ฏ€๋กœ 0์„ ์ถœ๋ ฅํ•œ๋‹ค.

โ€‹

7. front ํ•จ์ˆ˜

void front()

{

if (address < 0) cout << "-1\n";

else cout << que[0] << "\n";

}

ํ์˜ ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ์ •์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. ๋งŒ์•ฝ ํ์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ์ฃผ์†Œ๋Š” 0๋ฒˆ ์ธ๋ฑ์Šค์ด๋ฏ€๋กœ que ๋ฐฐ์—ด์˜ 0๋ฒˆ ์ธ๋ฑ์Šค์— ๋“ค์–ด์žˆ๋Š” ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

โ€‹

8. back ํ•จ์ˆ˜

void back()

{

if (address < 0) cout << "-1\n";

else cout << que[address] << "\n";

}

ํ์˜ ๊ฐ€์žฅ ๋’ค์— ์žˆ๋Š” ์ •์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. ๋งŒ์•ฝ ํ์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

address๋Š” ๋ฐฐ์—ด์˜ ๊ฐ€์žฅ ๋’ค์— ์žˆ๋Š” ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋ฏ€๋กœ que ๋ฐฐ์—ด์˜ address ์ฃผ์†Œ์— ์žˆ๋Š” ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

โ€‹

9. strcmp ํ•จ์ˆ˜

๋ฌธ์ž์—ด 1๊ณผ ๋ฌธ์ž์—ด 2๊ฐ€ ๊ฐ™์œผ๋ฉด 0์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

์ปดํŒŒ์ผ๋Ÿฌ๋Š” 0์„ false๋กœ ์ธ์‹ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, '!'('๋ฐ˜๋Œ€')๋ฅผ ์•ž์— ์“ฐ๋ฉด true๊ฐ€ ๋œ๋‹ค.

๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋ฌธ์ž์—ด 1๊ณผ ๋ฌธ์ž์—ด 2๊ฐ€ ๊ฐ™์œผ๋ฉด if ๋ฌธ์„ ์‹คํ–‰ํ•˜๊ณ , ๋‹ค๋ฅด๋ฉด if ๋ฌธ์„ ์‹คํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค.


์ฝ”๋“œ


#include <iostream>
#include <cstring>
using namespace std;

int que[10000];
int address = -1;

void push(int x)
{
	que[++address] = x;
}

void pop()
{
	int top_pop = 0;
	if (address < 0) cout << "-1\n";
	else {
		top_pop = que[0];
		for (int i = 0; i < address; i++) {
			que[i] = que[i + 1];
		}
		que[address--] = 0;
		cout << top_pop << "\n";
	}
}

void size()
{
	cout << address + 1 << "\n";
}

void empty()
{
	if (address < 0)cout << "1\n";
	else cout << "0\n";
}

void front()
{
	if (address < 0) cout << "-1\n";
	else cout << que[0] << "\n";
}

void back()
{
	if (address < 0) cout << "-1\n";
	else cout << que[address] << "\n";
}

int main()
{
	int n, x;
	cin >> n;
	char command[10];

	for (int i = 0; i < n; i++)
	{
		cin >> command;
		if (!strcmp(command, "push")) {
			cin >> x;
			push(x);
		}
		else if (!strcmp(command, "pop")) pop();
		else if (!strcmp(command, "size")) size();
		else if (!strcmp(command, "empty")) empty();
		else if (!strcmp(command, "front")) front();
		else if (!strcmp(command, "back")) back();
	}

	return 0;
}
 

(์ปดํ“จํ„ฐ๊ณตํ•™๊ณผ ๊ณผ๋™์•„๋ฆฌ init ์—์„œ ํ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์„ ๋“ฃ๊ณ , ์Šคํƒ ์ฝ”๋“œ์™€ ์—ฐ๊ด€ ์ง€์–ด ์ƒ๊ฐํ•ด ๋ณด๋ฉด์„œ ํ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์—ˆ๋”๋‹ˆ ํ•œ ๋ฒˆ์— ๋งž์•˜๋‹ค.)

โ€‹

โ€‹

โ€‹