스택(2)
-
DFS, BFS
DFS - 스택 - 재귀함수 이용 # DFS 메서드 정의 def dfs(graph, v, visited): # 현재 노드를 방문 처리 visited[v] = True print(v, end = '') # 현재 노드와 연결된 다른 노드를 재귀적으로 방문 for i in graph[v]: if not visited[i]: dfs(graph, i, visited) BFS - 큐 from collections import deque # BFS 메서드 정의 def bfs(graph, start, visited): queue = deque([start]) # 현재 노드를 방문 처리 visited[start] = True # 큐가 빌 때까지 반복 while queue: # 큐에서 하나의 원소를 뽑아 출력 v = de..
2021.06.22 -
프로그래머스 괄호 회전하기 코드 및 해설 (파이썬)
programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 💡 stack을 이용해 올바른 괄호인지 아닌지 판단했습니다. 우선 소괄호, 중괄호, 대괄호가 섞여 있는 string을 입력으로 받아 올바른 괄호인지 아닌지 판단하는 is_correct 함수를 정의했습니다. 닫는 괄호를 key, 그에 상응하는 여는 괄호는 value로 갖는 parenthesis라는 딕셔너리를 만들고, (1) input의 시작이 닫는 괄호면 바로 False를 반환하도록 했습니다. (2) 그 외의 경우엔 stack을 만들어 input의 하나씩 받으면서 (2-1) 닫는 괄호고 stack에 pop할 것이 있는 경우, 현재의 닫는 괄호와 대응하는 ..
2021.04.26