일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BFS
- Python
- kubernetes
- OpenShift
- POD
- 로깅
- Docker
- 솔루션조사
- vue.js
- jpa
- Machine Learning
- GPT
- k8s
- 컨설팅
- vuejs
- 도커
- 생성형 AI
- fastapi
- 리트코드
- 컨설턴트
- Redis
- 메세지큐
- LLaMa
- 쿠버네티스
- fast api
- SpringBoot
- LeetCode
- 생성형
- 머신러닝
- 오픈시프트
- Today
- Total
목록코딩테스트/Tree (6)
수 많은 우문은 현답을 만든다
허프만 코딩 : 데이터 문자의 등장 비도수에 따라서 다른 길이의 부호화를 사용하는 알고리즘 문제 링크 : Tree: Huffman Decoding | HackerRank 풀이 : 더보기 """class Node: def __init__(self, freq,data): self.freq= freq self.data=data self.left = None self.right = None """ # Enter your code here. Read input from STDIN. Print output to STDOUT def decodeHuff(root, s): //여기서 핵심은, 단순 재귀로 짜면 안되고, leaf에서 다시 루트로 돌아가야한다는것. //즉 두 스텝이건 세 스텝이건 원복해야하며 순차적 원복이 ..
Trees: Is This a Binary Search Tree? 문제링크 Input Node List 가 들어온다. Output Yes (또는 No) 풀이: 더보기 def checkBST(root): // 검증할때는 함수를 하나 더 만들어야한다. def check(node, min_v, max_v): if node is None: return True //None이 아닌 True를 반환 if min_v >= node.data or max_v
Binary Search Tree : Lowest Common Ancestor 구하기 문제링크 Input 6 4 2 3 1 7 6 1 7 Output [reference to node 4] 풀이 : 더보기 def lca(root, v1, v2): if not root: return None // BST 특성상 작은게 루트의 왼쪽에 있다면 무조건 왼쪽 탐색 if v1 root.info: return lca(root.right, v1, v2) //찾고자 하는 두개 원소가 양쪽으로 있다고 한다면, 방향에 상관없이 어쨌든 바이너리 트리이자 최소점임 else: return root
Question : The height of a binary tree is the number of edges between the tree's root and its furthest leaf. For example, the following binary tree is of height 2 input : 3 5 2 1 4 6 7 result : 3 참조 : 원문링크 풀이 : 더보기 def height(root): if root is None: return -1 //0으로 하고 마지막에 맞춰도 된다. left_size = height(root.left) right_size = height(root.right) return 1 + max(left_size, right_size) //핵심은 방문시 +1을 높여..
Given the root of a binary tree, return its maximum depth. A binary tree's maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node. Example 1: Input: root = [3,9,20,null,null,15,7] Output: 3 Example 2: Input: root = [1,null,2] Output: 2 풀이 더보기 if not root: return 0 left = self.maxDepth(root.left) right = self.maxDepth(root.right) return max(l..
Given the root of a binary tree, invert the tree, and return its root. Input: root = [4,2,7,1,3,6,9] Output: [4,7,2,9,6,3,1] Example 2: Input: root = [2,1,3] Output: [2,3,1] Example 3: Input: root = [] Output: [] 풀이 더보기 class Solution: def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]: if not root: return None left = self.invertTree(root.left) right = self.invertTree(root.righ..