๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
study/Algorithm Study ๐ŸŽถ

3์ฃผ์ฐจ - 4์žฅ ์Šคํƒ

by cosmog 2023. 4. 26.
๋ฐ˜์‘ํ˜•

4์žฅ ์Šคํƒ

 

์Šคํƒ์ด๋ž€?

 

์Šคํƒ์ด๋ž€? ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ.

๊ฐ€์žฅ ๋‚˜์ค‘์— ๋„ฃ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ๊บผ๋‚ธ๋‹ค. (LIFO : Last In First Out)

์Šคํƒ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๋Š” ์ž‘์—… = ํ‘ธ์‹œ push

์Šคํƒ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊บผ๋‚ด๋Š” ์ž‘์—… = ํŒ pop

์Šคํƒ์—์„œ ํ‘ธ์‹œ์™€ ํŒ์„ ํ•˜๋Š” ์œ„์น˜๋Š” top, ์Šคํƒ์˜ ๊ฐ€์žฅ ์•„๋žซ๋ถ€๋ถ„์„ bottom์ด๋ผ๊ณ  ํ•œ๋‹ค.

์‹ค์ œ java ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ์‹คํ–‰ํ•  ๋•Œ ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€์—์„œ๋Š” ์Šคํƒ์„ ์‚ฌ์šฉํ•œ๋‹ค.

์œ„์™€ ๊ฐ™์ด mian ๋ฉ”์„œ๋“œ๋ฅผ ํ‘ธ์‹œ z๋ฉ”์„œ๋“œ๋ฅผ ํ‘ธ์‹œ x๋ฉ”์„œ๋“œ๋ฅผ ํ‘ธ์‹œ ๊ฐ€์žฅ ๋‚˜์ค‘์— ํ‘ธ์‹œ๋œ x๋ถ€ํ„ฐ mian๊นŒ์ง€ ํŒ์ด๋˜๋Š” ๊ตฌ์กฐ๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋œ๋‹ค.

 

์Šคํƒ ๋งŒ๋“ค๊ธฐ

์Šคํƒ์˜ ๊ธฐ๋ณธ max / ptr / stk ์— ๋Œ€ํ•˜์—ฌ ๊ทธ๋ฆผ์œผ๋กœ ์„ค๋ช…ํ•ด๋ณด์•˜๋‹ค.

 

์Šคํƒ์˜ ๋ถ€๊ฐ€์ ์ธ method๋“ค์— ๋Œ€ํ•˜์—ฌ

์ด์™ธ์— ๋ถ€๊ฐ€์ ์œผ๋กœ stack์—์„œ๋Š” indexOf๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋งŒ์•ฝ ์ฐพ๊ณ ์ž ํ•˜๋Š” ๊ฐ’์ด ์—ฌ๋Ÿฌ๊ฐœ ์žˆ๋‹ค๋ฉด top์—์„œ ๋ถ€ํ„ฐ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฒƒ์„ ์ฐพ๊ฒŒ ๋œ๋‹ค.

 

 

 

 

 

 

 

์Šคํƒ์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์‚ญ์ œํ•˜๋Š” clear

์šฉ๋Ÿ‰์„ ํ™•์ธํ•˜๋Š” capacity - max๊ฐ’์„ ๋ฐ˜ํ™˜

๋ฐ์ดํ„ฐ ์ˆ˜๋ฅผ ํ™•์ธํ•˜๋Š” size - ptr๊ฐ’์„ ๋ฐ˜ํ™˜

์Šคํƒ์ด ๋น„์–ด์žˆ๋Š”์ง€ ํ™•์ธ isEmpty (T/F)

์Šคํƒ์ด ๊ฐ€๋“์ฐผ๋Š”์ง€ ๊ฒ€์‚ฌ isFull (T/F)

์Šคํƒ์•ˆ์— ์žˆ๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œ dump

 

์—ฐ์Šต๋ฌธ์ œ

Q1. ์‹ค์Šต 4-2์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œ๋Š” size, capacity, push, pop, peek, dump๋ฟ์ด๋‹ค.

ํด๋ž˜์Šค IntStack์˜ ๋ชจ๋“  ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค

 

 

Q2. ์ž„์˜์˜ ๊ฐ์ฒดํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์Œ“์„ ์ˆ˜ ์žˆ๋Š” ์ œ๋„ค๋ฆญ ์Šคํƒ ํด๋ž˜์Šค Gstack<E>๋ฅผ ์ž‘์„ฑํ•˜์„ธ์š”.

 

 

Q3. ํ•˜๋‚˜์˜ ๋ฐฐ์—ด์„ ๊ณต์œ ํ•˜์—ฌ 2๊ฐœ์˜ ์Šคํƒ์„ ๊ตฌํ˜„ํ•˜๋Š” intํ˜• ๋ฐ์ดํ„ฐ์šฉ ์Šคํƒ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“œ์„ธ์š”.

์Šคํƒ์— ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ๋Š” intํ˜• ๊ฐ’์œผ๋กœ ์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋ฐฐ์—ด์˜ ์ฒ˜์Œ๊ณผ ๋์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

 

๋ฐ˜์‘ํ˜•