일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- A* Algorithm
- Leedcode
- String
- Bellman-Ford
- DailyLeetCoding
- Union Find
- BFS
- hash table
- ArrayList vs LinkedList
- Two Pointers
- 자료구조
- 구현
- graph
- stack
- leetcode
- array
- sorting
- LinkedList
- hash
- Hashtable
- heap
- Java
- VCS
- 광연자동차운전면허학원
- Easy
- python3
- dfs
- Medium
- greedy
- SinglyLinkedList
- Today
- Total
목록전체 글 (88)
Min IT's Devlog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cwZ1Rk/btrZIJFI66o/7sKemukopfv2e4hsqAIqZ0/img.jpg)
풀이 일자: 23.02.18 난이도: [Easy] 분류: [Tree, DFS, BFS, Binary Tree] 문제 내용 이진트리의 root가 주어졌을 때 tree의 모든 노드의 좌우 위치를 바꾸는 게 문제의 내용이다. 문제 해결 흐름 1. 노드 순회가 필요하고 노드 순회 과정에서 단순히 자식 노드의 위치를 바꾸면 된다. → 일단 재귀적으로 구현해보자. # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution: def invertTree(self..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cb70yH/btrZNJxtNVt/cKYarj5zVo7MOuO6cwNqU1/img.png)
풀이 일자: 23.02.17 난이도: [골드 V] 분류: [Math, DP] 문제 내용 문제 해결 흐름 1. 이것도 대표적인 DP문제 중 하나로 DP문제에서 가장 중요한 것은 점화식을 찾는 게 중요하다. → 한번 N과 K를 차례대로 조정해보면서 직접 경우의 수를 구해보자. K=2 N=3인 경우 0~3사이에 2개의 수를 가지고 3을 만들 수 있는 경우의 수는 0+3 / 1+2 / 2+1 / 0+3으로 경우의 수가 4이다. 이런식으로 계속 채워나가다보면 어떤 패턴을 발견해나갈 수 있는데 바로 현재 위치의 위쪽과 왼쪽의 수를 합하면 해당 경우의 수가 된다는 것을 확인할 수 있게 된다. 이를 코드로 옮겨본다면, N, K = map(int, input().split()); dp = [[1 for i in rang..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/TFTDK/btrZHIyTnqw/5UG8ksVHkXKReFL4mtI3L1/img.jpg)
풀이 일자: 23.02.17 난이도: [Easy] 분류: [Tree, BST] 문제 내용 BST의 root가 주어졌을 때 BST 내부의 노드 간의 차 중에서 가장 작은 값을 리턴하는 문제이다. [BST란?] BST란 Binary Search Tree의 축약어로 우리말로는 이진탐색트리라고 한다. 탐색 대상이 주로 배열인데 이를 이진 탐색트리로 변환한다면 데이터의 삽입, 삭제 등 데이터 조작에 강점을 가지게 된다, => 특징으로는 root를 기준으로 root보다 작은 수는 왼쪽 node, 큰 수는 오른쪽 node에 있는 것을 확인할 수 있다. 문제 해결 흐름 1. 트리가 나왔고 노드 간의 차이를 일단 알아야 하므로 Tree를 순회하는 알고리즘을 생각해봐야 한다. → 일반적인 Tree 순회 알고리즘으로는 DF..