반응형

코딩테스트/leetcode 15

99클럽 코테 스터디 16일차 TIL, DP(All Possible Full Binary Trees)

1. 문제 정의2. 문제 접근완전탐색을 이용해서 풀면 될 것 같다.3. 문제 풀이왼쪽에서부터 노드를 채워준다. 오른쪽에서부터 노드를 채워준다. 모든 노드를 순회하면서 TreeNode를 채워준다.4. 코드/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * t..

99클럽 코테 스터디 13일차 TIL, 완전탐색( Reverse Odd Levels of Binary Tree)

1. 문제 정의2. 문제 접근dfs를 이용하여 완전탐색을 해주면 될 것 같다.3. 문제 풀이1 인덱스 부터 시작하여 dfs시작한다. depth를 같이 넘겨주어 depth가 홀수이면 양쪽 노드의 값을 교환해준다.4. 코드/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * ..

99클럽 코테 스터디 12일차 TIL, 완전탐색( All Paths From Source to Target)

1. 문제 정의2. 문제 접근dfs를 이용하여 완전탐색을 해주면 될 것 같다.3. 문제 풀이0 인덱스 부터 시작하여 dfs시작한다. lastIndex가 current Index랑 같은 경우 결과를 더해준다.4. 코드class Solution { List> ans; List path; int lastIdx; public List> allPathsSourceTarget(int[][] graph) { ans = new ArrayList(); path = new ArrayList(); lastIdx = graph.length - 1; path.add(0); dfs(graph, 0, path); return a..

99클럽 코테 스터디 11일차 TIL, DFS,BFS(Deepest Leaves Sum)

1. 문제 정의2. 문제 접근 dfs를 이용하여 완전탐색을 해주면 될 것 같다.3. 문제 풀이dfs를 통해 리프 노드까지 이동한다.리프노드가 maxDepth일 경우 sum을 갱신해주고, 다음 maxDepth의 경우에는 sum 에 값을 더해준다.4. 코드/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * ..

99클럽 코테 스터디 4일차 TIL, Heap(Smallest Number in Infinite Set)

1. 문제 정의 2. 문제 접근PriorityQueue를 써서 마지막 인덱스를 기억했다가 계속해서 활용해주면 될 것 같다.3. 문제 풀이PriorityQueue 를 이용하여 마지막 인덱스를 기억한다.조건에 맞으면 숫자를 넣어준다.pop을 할때 pq가 비었으면 마지막인덱스를 리턴하고, 아니면 pq의 내용을 pop해준다.4. 코드class SmallestInfiniteSet { PriorityQueue pq; int lowerIdx = 1; public SmallestInfiniteSet() { pq = new PriorityQueue(); } public int popSmallest() { if(!pq.isEmpty(..

반응형