[자료구조] 스택 (Stack)과 큐 (Queue)

2024. 10. 16. 13:00·코딩테스트 대비
728x90

 

 

이 글은 동빈나 님의 이코테 강의를 정리한 글입니다.

 

 

 

1. 스택 (Stack)

✨ 정의

먼저 들어 온 데이터가 나중에 나가는 형식(선입후출, FILO)의 자료구조
입구와 출구가 동일한 형태로 스택을 시각화 할 수 있습니다.

 

 

✨ 동작 예시

 

✨ 구현 예제

stack = []

stack.append(5)
stack.append(2)
stack.append(3)
stack.append(7)
stack.pop()
stack.append(1)
stack.append(4)
stack.pop()

print(stack[::-1])  # 최상단 원소부터 출력 -> [1, 3, 2, 5]
print(stack)    # 최하단 원소부터 출력 -> [5, 2, 3, 1]

 

 

 

2. 큐 (Queue)

✨ 정의

 먼저 들어 온 데이터가 먼저 나가는 형식(선입선출, FIFO)의 자료구조
입구와 출구가 모두 뚫려 있는 터널과 같은 형태로 시각화할 수 있습니다.

 

 

✨ 동작 예시

 

✨ 구현 예제

deque 라이브러리를 사용하여 구현할 수 있습니다.

 

from collections import deque

queue = deque()

# 삽입(5) - 삽입(2) - 삽입(3) - 삽입(7) - 삭제() - 삽입(1) - 삽입(4) - 삭제()
queue.append(5)
queue.append(2)
queue.append(3)
queue.append(7)
queue.popleft()
queue.append(1)
queue.append(4)
queue.popleft()

print(queue)    # 먼저 들어온 순서대로 출력 -> deque([3, 7, 1, 4])
queue.reverse() # 역순으로 바꾸기
print(queue)    # 나중에 들어온 원소부터 출력 -> deque([4, 1, 7, 3])

 

 

 

 

728x90

'코딩테스트 대비' 카테고리의 다른 글

[알고리즘] 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS)  (0) 2024.10.17
[알고리즘] 재귀함수(Recursive Function)  (0) 2024.10.17
[알고리즘] 구현 (Implementation)  (0) 2024.10.16
[알고리즘] 그리디 알고리즘 (Greedy Algorithm)  (0) 2024.10.14
[Python]🔥코딩 테스트를 위한 파이썬🔥  (2) 2024.10.14
'코딩테스트 대비' 카테고리의 다른 글
  • [알고리즘] 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS)
  • [알고리즘] 재귀함수(Recursive Function)
  • [알고리즘] 구현 (Implementation)
  • [알고리즘] 그리디 알고리즘 (Greedy Algorithm)
랑뎁
랑뎁
  • 랑뎁
    RangDev.
    랑뎁
  • 전체
    오늘
    어제
    • 분류 전체보기 (270)
      • 취준 (59)
        • 경제신문스크랩 (59)
      • 파이썬 (2)
      • 코딩테스트 대비 (168)
      • 수학 (2)
      • 머신러닝 (0)
      • 컴퓨터비전 (1)
      • 강화학습 (33)
      • Git (3)
      • 자격증 (1)
        • 한국사 능력 검정 1급 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
  • 인기 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.2
랑뎁
[자료구조] 스택 (Stack)과 큐 (Queue)
상단으로

티스토리툴바