YS's develop story

Stack (์Šคํƒ) ์ •๋ฆฌ ๋ณธ๋ฌธ

Data Structure

Stack (์Šคํƒ) ์ •๋ฆฌ

Yusang 2021. 7. 22. 13:49

๐Ÿ‘จ๐Ÿผ‍๐Ÿ’ป Stack (์Šคํƒ) ์ •๋ฆฌ With Python

๐Ÿฅ Stack์ด๋ž€? 

ํ•œ์ชฝ ๋์—์„œ๋งŒ ์ž๋ฃŒ๋ฅผ ๋„ฃ๊ฑฐ๋‚˜ ๋บ„ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ œํ•œ์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ

๊ฐ€์žฅ ๋‚˜์ค‘์— ๋„ฃ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ๋นผ๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ

LIFO (Last In First Out) ๊ตฌ์กฐ


๐Ÿ‹ Process์™€ Stack 

def recursive(data):
    if data < 0:
        print ("ended")
    else:
        print(data)
        recursive(data - 1)
        print("returned", data)

recursive(4)

์œ„์™€ ๊ฐ™์ด ํ”„๋กœ์„ธ์Šค ํ•จ์ˆ˜ ๋™์ž‘ ๋ฐฉ์‹์—์„œ Stack ๋ฐฉ์‹์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์„ธ์Šค ์Šคํƒ์ด ์ž๋ฃŒ๊ตฌ์กฐ Stack์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด ์กŒ์Šต๋‹ˆ๋‹ค.

์™œ ๊ทธ๋Ÿด๊นŒ?

-> ๊ตฌ์กฐ๊ฐ€ ๋‹จ์ˆœํ•ด์„œ ๋ฐ์ดํ„ฐ์˜ ์ฝ๊ธฐ, ์ €์žฅ ์†๋„๊ฐ€ ๋งค์šฐ ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

 

๐ŸŠ Stack์˜ ์žฅ๋‹จ์ 


๐Ÿ‰ Stack ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ With Python 

stackList = list()

def push(data):
    stackList.append(data)

def pop():
    data = stackList[-1]
    del stackList[-1]
    return data
for i in range(1, 10):
    push(i)

for i in range(9):
    print(pop(), end=" ")

Comments