오늘의 인기 글
최근 글
최근 댓글
Today
Total
11-08 00:42
관리 메뉴

우노

[Python] Stack 과 Queue 사용 방법 본문

Language/Python

[Python] Stack 과 Queue 사용 방법

운호(Noah) 2022. 6. 4. 23:13

Stack

  • 파이썬에선 Stack을 사용하기 위해 별도의 라이브러리를 사용하지 않아도 됩니다.

  • 기본 List에서 append() 와 pop() 메서드를 이용하면 Stack 자료구조와 동일하게 동작합니다.

  • append() 메서드는 리스트의 가장 뒤쪽에 데이터를 삽입하고,

  • pop() 메서드는 리스트의 가장 뒤쪽에서 데이터를 꺼냅니다.

  • 예제 코드

      stack = []
    
      stack.append(1)
      stack.append(2)
      stack.pop()
      stack.append(3)
      stack.append(4)
    
      print(stack)       # 최하단 원소부터 출력
      print(stack[::-1]) # 최상단 원소부터 출력

Queue

  • 파이썬에선 Queue를 사용하기 위해, collections 모듈에서 제공하는 deque 자료구조를 활용해야합니다.

  • deque 는 Stack 과 Queue 의 장점을 모두 채택한 방법입니다.

  • 데이터 삽입 및 추출 속도가 List 자료형에 비해 효율적이며, queue 라이브러리를 사용하는 것보다 더 간단합니다.

  • 대부분의 코딩 테스트에서는 collections 모듈과 같은 기본 라이브러리 사용을 허용하므로 안심하고 사용해도 괜찮습니다.

  • 예제 코드

      from collections import deque
    
      queue = deque()
    
      queue.append(1)
      queue.append(2)
      queue.popleft()
      queue.append(3)
      queue.append(4)
    
      print(queue)    # 먼저 들어온 원소부터 출력
    
      queue.reverse() # 나중에 들어온 원소부터 출력하기 위해, 요소를 역순으로 바꾸기
      print(queue)    # 나중에 들어온 원소부터 출력
  • 만약, deque 객체를 List 자료형으로 변환하고 싶다면, 아래 코드를 사용해 변환할 수 있습니다.

      list(queue)

참고

  • 이것이 취업을 위한 코딩 테스트다. with python
Comments