728x90
반응형

스택 6

[자료구조] 스택 - 미로 탐색

🙆‍♂️ 미로 탐색 (깊이 우선 탐색) 알고리즘 """ 깊이우선탐색 - 미로 탐색 """ #미로 정의 maze = [[1,1,1,1,1,1], ['H',0,0,0,0,1], [1,0,1,0,1,1], [1,1,1,0,0,'X'], [1,1,1,0,1,1], [1,1,1,1,1,1]] #미로 출력 def print_maze(maze): print("=====MAZE=====") for r in maze: for p in r: print(p, end=" ") print() print("==============") #탐색 알고리즘 def DFS(maze): s = Stack() x,y = 0,1 s.push( (x,y) ) #시작점 while maze[y][x] != 'X': if not s.emt(): m..

[자료구조] 스택 - 중위표현식 후위표현식으로 변환

🙆‍♂️ 후위표현식으로 변환하기 """ 스택 클래스 Stack def emt : 스택에 값이 없다면 True를 반환 있다면 False를 반환 def size : 스택의 현재 길이를 반환 def clear : 스택 값을 초기화 def push : 입력 요소 ch를 스택에 입력 def pop : 스택의 최상단 값을 삭제 def peek : 스택의 최상단 값 반환 def disply : 스택의 상태를 출력 """ class Stack: def __init__(self): self.stack=[] def emt(self): return len(self.stack)==0 def size(self): return len(self.stack) def clear(self): self.stack=[] def push(s..

[자료구조] 스택 - 괄호 검사 알고리즘

🙆‍♂️ 괄호 검사 알고리즘 """ 괄호 검사 알고리즘 """ def checkB(string): stack = [] for i in string: if i in ['(','{','[']: stack.append(i) elif i in [')','}',']']: if len(stack) == 0: return "Wrong String!" else: if (( stack[-1] == '(' and i==')' or stack[-1] == '{' and i=='}' or stack[-1] == '[' and i==']' )): stack.pop(-1) else: return "Wrong String!" if len(stack) != 0: return "Wrong String!" else: return "Go..

[자료구조] 스택 - 스택 class 구현

🙆‍♂️스택 """ 스택 클래스 Stack def emt : 스택에 값이 없다면 True를 반환 있다면 False를 반환 def size : 스택의 현재 길이를 반환 def clear : 스택 값을 초기화 def push : 입력 요소 ch를 스택에 입력 def pop : 스택의 최상단 값을 삭제 def peek : 스택의 최상단 값 반환 def disply : 스택의 상태를 출력 """ class Stack: def __init__(self): self.stack=[] def emt(self): return len(self.stack)==0 def size(self): return len(self.stack) def clear(self): self.stack=[] def push(self,ch): se..

[백준][Python] 10828. 스택

🙆‍♂️문제 🙋‍♂️풀이 🚀 입력받기 import sys n = int(sys.stdin.readline()) com = [list(sys.stdin.readline().split()) for _ in range(n)] 시간 제한이 있어서 sys.stdin.readline()으로 입력을 받아야 합니다. 명령어 수와 명령어들을 입력받습니다. 🚀 문제 풀이 핵심 & 출력 stack=[] for i in com: arrLen = len(stack) if i[0] == 'push': stack.append(i[1]) elif i[0] == 'pop': if arrLen==0: print(-1) else: print(stack[arrLen-1]) stack.pop(arrLen-1) elif i[0] == 'siz..

[자료구조] 스택 - Stack

🙆‍♂️Stack First in Last out인 자료구조 입니다. 데이터가 쌓여져 가는 구조인데 PUSH라는 명령어로 데이터를 Stack의 가장 위에 올리고 POP이라는 명령어로 Stack의 가장 위의 명령어를 뺍니다. TOP이라는 명령어는 가장 위의 명령어에 접근합니다. 코딩테스트에서는 배열을 사용하여 스택이라고 가정하여 접근합니다. 🙋‍♂️문제 🚀 valid parentheses 괄호 열리고 닫힌 것을 구분하는 문제들은 stack 문제로 보고 풀 수 있습니다. PUSH를 해서 괄호를 열어주고 POP을 해서 매칭이되면 괄호를 닫아줍니다. 매칭이 안되면 invalid하다는 것을 출력하는 것입니다. >관련 문제

728x90
반응형