Tree를 순회하는 방법에는 세가지가 있다. 1. Pre-order Traversal (전위순회법) Root node에서 시작하여 왼쪽 부 트리를 순회하고 가장 마지막의 부트리까지 순회한다 오른쪽 부 트리를 순회하고 가장 마지막의 부트리까지 순회한다. DFS와 비슷한 논리라고 생각하면 쉽다. Pseudocode: Pre_order def pre_order(T): if T is not null: visit(T) pre_order(T.left) pre_order(T.right) 2. In-Order Traversal (중위 순회법) 트리의 가장 왼쪽 노드로 이동한다. 왼쪽 노드의 루트를 탐색한다. 루트의 오른쪽 노드를 탐색한다. 트리의 가장 왼쪽에 있는 노드부터 시작하여 탐색한다고 생각하면 이해가 쉽다. d..
문제 SWEA 1219 길찾기 D4 python 문제링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 나의 코드 리스트로 들어오는 인풋을 두개의 element 별로 묶어준다. 시작점 0에 대해서 재귀적으로 dfs 탐색을 진행해준다. 99에 도착하면 탐색 종료 def dfs(vertex): global res # if reached end if vertex == 99: res = 1 return for i in range(len(new)): # get the next eleme for the vertex if new[i][0] == vertex and not visited[new[i][0]]: visited[..
문제 SWEA 1218.괄호짝짓기 D4 python 문제링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 나의 코드 스택을 사용하면 쉽게 풀리는 문제다. 왼쪽 괄호일 경우 스택에 추가해주고, 오른쪽 괄호일 경우 쌍을 이루는 괄호와 일치하는지 비교한다. 오른쪽 괄호가 왼쪽 괄호와 쌍을 이룰 경우, 스택의 가장 상위 괄호를 pop 해준다. 그렇지 않을 경우, 탐색을 종료한다. for tc in range(10): N = int(input()) lst = list(map(str, input())) stck = list() # 왼쪽 괄호 left = ['(', '{', '[', ''] for i in range(N..