[자료ꡬ쑰] μŠ€νƒ(Stack) (python 파이썬)

2023. 8. 20. 17:36Β·πŸ“¦ Data Structure

μŠ€νƒ(Stack)

μŠ€νƒμ€ κ°€μž₯ λ‚˜μ€‘μ— 넣은(push) 데이터λ₯Ό κ°€μž₯ λ¨Όμ € κΊΌλ‚΄λŠ”(pop) μžλ£Œκ΅¬μ‘°λ‹€.

이런 ꡬ쑰λ₯Ό Last In First Out(ν›„μž…μ„ μΆœ, LIFO) λ˜λŠ” First In Last Out(μ„ μž…ν›„μΆœ, FILO)라고 ν•œλ‹€.

ν”νžˆ 택배 νŠΈλŸ­μ— μžˆλŠ” 택배 μƒμžλ“€μ„ μƒκ°ν•˜λ©΄ λœλ‹€. κ°€μž₯ λ‚˜μ€‘μ— 넣은 택배 μƒμžλΆ€ν„° λ¨Όμ € κΊΌλ‚΄λ‹ˆκΉŒ

좜처: μœ„ν‚€ν”Όλ””μ•„

μŠ€νƒμ˜ μ—°μ‚°

- push(): μŠ€νƒμ΄ 가득 μ°ΌλŠ”μ§€(isFull) ν™•μΈν•˜κ³  가득 μ°¨μžˆμ§€ μ•ŠμœΌλ©΄ top λ‹€μŒ μœ„μΉ˜μ— 데이터 μ‚½μž….

- pop(): μŠ€νƒμ΄ λΉ„μ–΄μžˆλŠ”μ§€(isEmpty) ν™•μΈν•˜κ³  λΉ„μ–΄μžˆμ§€ μ•ŠμœΌλ©΄ topμœ„μΉ˜μ— μžˆλŠ” 데이터 return ν•˜κ³  μ‚­μ œ.

- peek():μŠ€νƒμ˜ top에 μžˆλŠ” 데이터 return.

- isFull(): μŠ€νƒμ΄ 가득 μ°ΌλŠ”μ§€ 확인. μŠ€νƒμ˜ μ‚¬μ΄μ¦ˆμ™€ top의 μœ„μΉ˜κ°€ κ°™λ‹€λ©΄ return 1. μ•„λ‹ˆλ©΄ return 0.

- isEmpty(): μŠ€νƒμ΄ λΉ„μ–΄μžˆλŠ”μ§€ 확인. top의 μœ„μΉ˜κ°€ -1이면 return 1. μ•„λ‹ˆλ©΄ return 0. 

μŠ€νƒ in 파이썬

νŒŒμ΄μ¬μ—μ„œ μŠ€νƒμ„ μ‚¬μš©ν•  λ•Œ λ”°λ‘œ λΌμ΄λΈŒλŸ¬λ¦¬κ°€ ν•„μš” μ—†λ‹€. κ·Έλƒ₯ λ¦¬μŠ€νŠΈμ— μžˆλŠ” appendλž‘ popλ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜λ©΄ λœλ‹€.

λ‘˜ λ‹€ μ‹œκ°„λ³΅μž‘λ„λŠ” O(1)이닀. 

 

λ”°λ‘œ classλ₯Ό λ§Œλ“€μ–΄ κ΅¬ν˜„ν•  수 μžˆμ§€λ§Œ, κ°„λ‹¨ν•˜κ²Œ list둜 κ΅¬ν˜„ν•΄ λ³Ό 수 μžˆλ‹€.

 

예)

stack = [] #빈 리슀트 μ„ μ–Έ

stack.append(2) # push
stack.append(3) # push
stack.append(5) # push

print(stack) # [2, 3, 5]

print(stack.pop()) # 5

print(stack) # [2, 3]

# peekκ³Ό 같은 κΈ°λŠ₯. top에 μžˆλŠ” μš”μ†Œλ₯Ό return ν•œλ‹€.
print(stack[-1]) # 3

 

μ°Έκ³ 

https://www.tutorialspoint.com/data_structures_algorithms/stack_algorithm.htm

 

 

 

μ €μž‘μžν‘œμ‹œ

'πŸ“¦ Data Structure' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[자료ꡬ쑰] 큐(Queue) (python 파이썬)  (0) 2023.08.20
'πŸ“¦ Data Structure' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [자료ꡬ쑰] 큐(Queue) (python 파이썬)
μ œλ΄‰μ•„
μ œλ΄‰μ•„
  • μ œλ΄‰μ•„
    Overthinking
    μ œλ΄‰μ•„
    fake it till you make it.
  • 전체
    였늘
    μ–΄μ œ
    • λΆ„λ₯˜ 전체보기 (106)
      • 🧩 Problem Solving (83)
        • [λ°±μ€€] (74)
        • [ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] (7)
        • [SW Expert Academy] (1)
        • [μ•Œκ³ λ¦¬μ¦˜ for PS] (1)
      • πŸ“¦ Data Structure (2)
      • πŸ“œ Language (14)
        • [python] (14)
      • πŸ–€ Git (1)
      • πŸŒ† 일상 (4)
        • πŸ’¬ 벽보고 λ§ν•˜κΈ° (4)
      • πŸ—„οΈ 기타 (2)
      • πŸ”΅ css (0)
  • λΈ”λ‘œκ·Έ 메뉴

    • ν™ˆ
    • νƒœκ·Έ
    • λ°©λͺ…둝
  • 링크

  • 곡지사항

  • 인기 κΈ€

  • νƒœκ·Έ

    imos
    ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€
    ν”Œλ‘œμ΄λ“œμ›Œμ…œ
    ν”Œλ‘œμ΄λ“œ 와샬
    BFS
    νˆ¬ν¬μΈν„°
    그리디
    μ •μ²˜κΈ°
    λ°±νŠΈλž˜ν‚Ή
    λ°λΈŒμ½”μŠ€
    파이썬
    μž¬κ·€
    λΆ€λΆ„ν•©
    Bruteforce
    브루트포슀
    νŒ°λ¦°λ“œλ‘¬
    Python
    boj
    λˆ„μ ν•©
    냅색
    μŠ€νƒ
    λ°±μ€€
    λ‹€μ΅μŠ€νŠΈλΌ
    κ΅¬ν˜„
    λΆ„ν•  정볡
    SWEA
    DFS
    DP
    slicing
    μœ„μƒμ •λ ¬
  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.3
μ œλ΄‰μ•„
[자료ꡬ쑰] μŠ€νƒ(Stack) (python 파이썬)
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”