일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 백준
- kt에이블스쿨5기
- dp
- 구현
- 티스토리챌린지
- spring
- 파이썬
- join
- 트리
- Level2
- AIVLE
- KT 에이블스쿨
- BFS
- Level1
- 딕셔너리
- Level3
- python
- 골드
- dfs
- AI트랙
- KT에이블스쿨
- 정렬
- 실버
- 프로그래머스
- 오블완
- 패스트캠퍼스
- 그래프
- sql
- Java
- 알고리즘
- Today
- Total
목록트리 (10)
rose_brown
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/42892 2. 코드python 1import syssys.setrecursionlimit(10**6)def preorder(y, x, answer): node = y[0] idx = x.index(node) left, right = [], [] for i in range(1, len(y)): if node[0] > y[i][0]: right.append(y[i]) else: left.append(y[i]) answer.append(node[2]) if len(right) > 0: preorder(right, x[:idx]..
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/49189 2. 코드python 1from collections import dequedef solution(n, edge): answer = 0 route = [0] * (n+1) graph = [[] for i in range(n+1)] queue = deque() for e in edge: graph[e[0]].append(e[1]) graph[e[1]].append(e[0]) queue.append(1) route[1] = 1 while queue: now = queue.popl..

1. 문제https://www.acmicpc.net/problem/11437 2. 코드python 1import sysinput = sys.stdin.readlineN = int(input())tree = [[] for _ in range(N+1)]visited = [False] * (N+1)parent = [0] * (N+1)depth = [0] * (N+1)for _ in range(0, N-1): s, e = map(int, input().split()) tree[s].append(e) tree[e].append(s)def BFS(node): q = [node] visited[node] = True while q : now_node = q.pop(0) ..

1. 문제https://www.acmicpc.net/problem/11505 2. 코드pythonimport sysinput = sys.stdin.readlineN, M, K = map(int, input().split())treeHeight = 0length = NMOD = 1000000007while length != 0: length //= 2 treeHeight += 1treeSize = pow(2, treeHeight+1)leftNodeStartIndex = treeSize // 2 - 1tree = [1] * (treeSize + 1)for i in range(leftNodeStartIndex + 1, leftNodeStartIndex + N + 1): tree[i] = int..

1. 문제https://www.acmicpc.net/problem/10868 2. 코드pythonimport sysinput = sys.stdin.readlineN, M = map(int, input().split())treeHeight = 0length = Nwhile length != 0: length //= 2 treeHeight += 1treeSize = pow(2, treeHeight+1)leftNodeStartIndex = treeSize // 2 - 1tree = [sys.maxsize] * (treeSize + 1)for i in range(leftNodeStartIndex + 1, leftNodeStartIndex + N + 1): tree[i] = int(input())..

1. 문제https://www.acmicpc.net/problem/2042 2. 코드pythonimport sysinput = sys.stdin.readlineN, M, K = map(int, input().split())treeHeight = 0length = Nwhile length != 0: length //= 2 treeHeight += 1treeSize = pow(2, treeHeight+1)leftNodeStartIndex = treeSize // 2 - 1tree = [0] * (treeSize + 1)for i in range(leftNodeStartIndex + 1, leftNodeStartIndex + N + 1): tree[i] = int(input())def setT..

1. 문제https://www.acmicpc.net/problem/1991 2. 코드pythonimport sysinput = sys.stdin.readlineN = int(input())tree = {}for i in range(N): root,left, right = map(str,input().split()) tree[root] = [left, right]def preOrder(now): # root -> left -> right if now == '.': return print(now, end="") preOrder(tree[now][0]) preOrder(tree[now][1])def inOrder(now): # left -> root ->..

1. 문제https://www.acmicpc.net/problem/14425 2. 코드python 1import sysinput = sys.stdin.readlineclass Node(object): def __init__(self, isEnd): self.isEnd = isEnd self.childNode = {}class Trie(object): def __init__(self): self.parent = Node(None) def insert(self, string): nowNode = self.parent temp_lenght = 0 for char in string: # 자식 노드들 미..

1. 문제https://www.acmicpc.net/problem/1068 2. 코드pythonimport syssys.setrecursionlimit(10**6)input = sys.stdin.readlineN = int(input())tree = [[] for _ in range(N+1)]visited = [False] * (N+1)answer = 0p = list(map(int, input().split()))del_num = int(input())for i in range(N): if p[i] != -1: tree[i].append(p[i]) tree[p[i]].append(i) else: root = idef DFS(num): global a..

1. 문제https://www.acmicpc.net/problem/11725 2. 코드pythonimport syssys.setrecursionlimit(10**6)input = sys.stdin.readlineN = int(input())tree = [[]for _ in range(N+1)]visited = [False] * (N+1)answer = [0] * (N+1)for i in range(1, N): n1, n2 = map(int, input().split()) tree[n1].append(n2) tree[n2].append(n1)def DFS(num): visited[num] = True for i in tree[num]: if not visited[i]..