스택
[백준 파이썬] #10799. 쇠막대기
풀기 전 생각해보기😮 stack 문항 각각의 경우를 따져서 풀 수 있다 풀이🛫 # 스택 # 모든 경우대로 조건문을 나열 arr = list(input()) stack = [] cnt = 0 for i in range(len(arr)): if len(stack) == 0 and arr[i] == '(': # stack이 아직 만들어지지 않았을 경우 stack.append('(') else: # stack이 존재할 때 # 이전에 들어온 값과 현재 입력되는 값을 비교 # 모든 경우의 수는 4가지 밖에 되지 않음 if arr[i-1] == '(' and arr[i] == '(': # case1 stack.append('(') elif arr[i-1] == '(' and arr[i] == ')': # case2 ..
[SWEA] #4866. 괄호 검사_파이썬
풀기 전 생각해보기😮 stack 구조 활용하기 풀이🛫 T = int(input()) for t in range(T): text = input() stack = [] for i in text: if i == "{" or i == "(": stack.append(i) elif stack and i == "}" and stack[-1] == "{": stack.pop() elif stack and i == ")" and stack[-1] == "(": stack.pop() elif i == "}" or i == ")": stack.append(i) if stack: # stack의 길이가 0이 아님 : 오답 answer = 0 else: # stack의 길이가 0 : 정답 answer = 1 print(f"#..
[백준 파이썬] # 4949 균형잡힌 세상
Silver IV # 4949 균형잡힌 세상 링크 : https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마 www.acmicpc.net 풀이 while True: text = input() # 반복문 탈출 조건 설정 if text == '.': break s = [0] # s[-1]을 이용할 때 에러 방지를 위해 s = [] 대신 사용 for i in text: if i == '(': s.append('small') elif i == ')': if s[-1] ==..
[백준 파이썬] # 1874 스택 수열
Silver III # 1874 스택 수열 링크 : https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 풀이 N = int(input()) stack = [] # 숫자를 담을 리스트 result = [] # '+' or '-'을 담을 리스트 cnt = 1 # 입력값의 경우의 수를 제한하기 위해 사용하는 기준 temp = True # 오류 판별에 사용 for i in ..
[이코테 자료구조] 3. 스택/큐 자료구조, 재귀함수, DFS & BFS
DFS / BFS by 나동빈님 링크 https://www.youtube.com/watch?v=7C9RgOcvkvo&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=3 탐색 : 많은 양의 데이터 중 원하는 데이터를 찾는 과정 DFS, BFS는 탐색 알고리즘에 해당 코딩 테스트에서 자주 등장하는 유형 스택 자료구조 선입후출 : 먼저 들어온 데이터가 나중에 나가는 형식 입구와 출구가 동일한 형태 ex) 박스 쌓기, 플링글스 통 구조 삽입과 삭제로 진행, 시간복잡도 : O(1) stack = [] stack.append(n) stack.pop(n) 최상단 원소부터 출력하려면 stack을 역순으로 출력 큐 자료구조 선입선출 : 먼저 들어온 데이터가 먼저 나가는 형식 입구와 출구..