일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Binary Search
- greedy
- Class
- hash table
- bit manipulation
- Math
- Number Theory
- sorting
- geometry
- string
- Data Structure
- 파이썬
- java
- Matrix
- Stack
- SQL
- Binary Tree
- database
- Method
- implement
- simulation
- 자바
- 코테
- array
- dynamic programming
- two pointers
- 구현
- 코딩테스트
- Counting
- Tree
- Today
- Total
목록Tree (28)
코린이의 소소한 공부노트
오픈 채팅방에 새로운 사람이 들어오면 곰곰티콘으로 인사한다. 채팅방에 있는 사람들은 새로운 사람이 입장한 후 처음 채팅은 반드시 곰곰티콘이다. 그 외의 기록은 채팅을 친 사람의 닉네임이다. 1. 입력 - 첫 번째 줄에는 채팅방의 기록 수를 나타내는 정수 N이 주어진다. (1
1. 입력 - 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. - 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어진다. - 각 집합의 원소의 개수는 200,000을 넘지 않으며, 모든 원소의 값은 100,000,000을 넘지 않는다. 2. 출력 - 첫째 줄에 대칭 차집합의 원소의 개수를 출력한다. 3. 코드 import java.util.*; import java.io.*; class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReade..
1. 입력 - 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. - 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. - 다음 M개의 줄에는 검사해야 하는 문자열들이 주어진다. - 입력으로 주어지는 문자열은 알파벳 소문자로만 이루어져 있으며, 길이는 500을 넘지 않는다. 집합 S에 같은 문자열이 여러 번 주어지는 경우는 없다. 2. 출력: 첫째 줄에 M개의 문자열 중에 총 몇 개가 집합 S에 포함되어 있는지 출력한다. 3. 코드 import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { Buff..
1. Problem - 이진 트리에서 원하는 값을 찾아보자. // 이진 트리란? 1) 값(key)을 가진 노드들의 모임 2) 노드는 자식 노드를 왼쪽 하나(left subtree), 오른쪽 하나(right subtree)를 가질 수 있다. 3) 왼쪽 자식의 노드 값은 부모 노드(root)보다 작거나 같고, 오른쪽 자식의 노드 값은 크거나 같다. 2. Input 1) 이진 트리를 가리키는 포인터 tree 2) 찾아야 할 값 keyin 3. Output 1) 찾아야 할 값이 있는 노드를 가리키는 포인터 p 4. PseudoCode void search(node_pointer tree, keytype keyin, node_pointer p){ boolean found; p = tree; found = fals..
1. Input 1) TreeNode root 2. Output 1) 이진 트리의 최대 깊이를 반환 3. Constraint 1) 트리의 노드 수의 범위는 [0, 104] 2) -100
1. Input 1) 이진 트리 root - 부모 1개(root node), 자식 2개(right/left child node)로 이루어진 트리다. 2. Output 1) 부모 노드의 값이 자식 노드의 값의 합과 같으면 true, 다르면 false를 반환 3. Constraint 1) -100
1. Input 1) 이진 트리 p 2) 이진 트리 q - 이진 트리는 문제에 제공되는 TreeNode 클래스로 구현한다. 2. Output 1) p와 q가 같은 트리이면 true, 다르면 false를 반환 3. Constraint 1) 한 트리의 노드 수의 범위는 [0, 100]이다. 2) - 10^4

[TreeSet 클래스] 1. Set 인터페이스를 구현한 컬렉션 클래스 2. 순서를 유지하지 않고, 중복을 허용하지 않는다. 3. 범위 검색과 정렬에 유리한 컬렉션 클래스 - 이진 탐색 트리(binary search tree)로 구현함 - 이진 탐색 트리는 부모보다 작은 값을 왼쪽에, 큰 값은 오른쪽에 저장 4. 객체 저장시 비교를 하기 때문에 따로 정렬해줄 필요가 없다. - 데이터가 많아질수록 비교 횟수가 증가하기 때문에 HashSet보다 추가, 삭제에 시간이 더 걸리게 된다. 5. 링크드 리스트처럼 각 요소(node)가 나무(tree) 형태로(tree) 연결된 구조 - 가장 상위 노드는 루트(root)라고 부름 - 이진 트리는 모든 노드가 0~2개의 하위 노드를 가짐(부모-자식관계) [TreeSet의..