파이썬 스택
-
[ Data Structure ] Queue 큐공부 !/Computer Science 2022. 4. 14. 23:26
Queue 큐는 어떤 자료구조인가 ! 선형 자료구조의 일종으로 먼저 들어온 원소가 먼저 나가는 FIFO(First-In-First-Out) 특징을 가진다 한 끝에서 삽입과 삭제가 이뤄지는 스택과는 반대로 큐는 삽입과 삭제가 다른 끝에서 이루어진다 큐는 줄 서기 라고 생각하면 이해가 쉽다 ^ㅁ^ 파이썬에서는 기본 클래스 list 와 내장모듈 Queue를 통해 구현할 수 있다 하지만 리스트를 사용할 경우 추가의 복잡도는 O(1) 이며 삭제는 O(N) 이기 때문에 데이터 처리속도가 O(1)인 내장 모듈로 구현하는 것이 좋다 Queue 구현 queue 초기화 ( Queue 모듈 사용 예시 ) # 빈 큐 초기화 import queue q = queue.Queue() queue 원소 삽입 enqueue # appe..
-
[ Data Structure ] Stack 스택공부 !/Computer Science 2022. 4. 14. 01:06
Stack 스택은 어떤 자료구조인가 ! 선형 자료구조의 일종으로 나중에 들어온 원소가 먼저 나가는 LIFO(Last-In-First-Out) 특징을 가진다 가장 먼저 들어간 원소가 제일 아래 깔리고 그 위로 차곡차곡 쌓이기 때문에 호출시에는 가장 위에 있는 원소가 호출된다 ! 스택을 프링글스 통이라고 생각하면 이해가 쉽다 ^ㅁ^ 파이썬에서는 스택 자료구조를 따로 제공하지 않아 기본 클래스 list 를 통해 구현할 수 있다 장점 구조가 단순해서 구현이 쉽다 데이터의 삽입 / 삭제가 빠르다 단점 ( 일반적인 스택 구현시 ) 데이터 최대 갯수를 미리 정해야한다 파이썬의 경우 재귀함수는 1000번까지만 호출이 가능하다 저장 공간의 낭비가 발생할 수 있다 미리 최대 갯구 만큼 저장 공간을 확보해야한다 stack ..
-
[백준 9012] 괄호 ( 풀이 2가지 )Algorithm/Source Code 2021. 10. 11. 23:30
문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가 된다. 예를 들어 “(())()”와 “((()))” 는 VPS 이지만 “(()(”, “(())()))” , 그리고 “(()” 는 모두 VPS 가 아닌 문자열이다. 여러분은 입력으로 주어진 괄호 문자열..