일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Two Pointers
- 구현
- leetcode
- Hashtable
- Easy
- graph
- VCS
- hash table
- SinglyLinkedList
- 자료구조
- Medium
- String
- hash
- 광연자동차운전면허학원
- heap
- ArrayList vs LinkedList
- dfs
- Bellman-Ford
- Union Find
- Leedcode
- sorting
- python3
- LinkedList
- A* Algorithm
- array
- stack
- greedy
- DailyLeetCoding
- Java
- BFS
- Today
- Total
목록전체 글 (88)
Min IT's Devlog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/WP4vL/btrLu2jWtS3/LefQw6WkPgVnYaEhK4a8n0/img.jpg)
풀이 일자: 22.09.05 난이도: [Medium] 분류: [BFS/ Tree] 문제 내용 주어진 n-ary tree를 가지고 각 level의 노드값들의 리스트들을 하나로 묶어서 리턴하는 문제이다. 문제 해결 흐름 1. 문제에서 level별 순회값을 리턴하라고 어떻게 풀어야 하는지 제시해주었다. → 대놓고 BFS쓰라는 거구나. 그래도 일단 익숙한 DFS로 풀어보았다. """ # Definition for a Node. class Node: def __init__(self, val=None, children=None): self.val = val self.children = children """ class Solution: def levelOrder(self, root: 'Node') -> List[L..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bjciya/btrLqXphq76/Ahzsn1Oo6DlbGB7VFDntWK/img.jpg)
풀이 일자: 22.09.04 난이도: [Hard] 분류: [Hash Table/ DFS/ BFS/Binary Tree] 문제 내용 root(0,0)부터 아래로 내려가면서 왼쪽 노드는 +1 -1 오른쪽 노드는 +1 +1을 좌표에 더하여 y좌표가 같은 것끼리 묶어서 값을 리턴하는 문제였다. 문제 해결 흐름 1. 일단 이것도 트리 순회를 하면서 값을 정리하는 것이므로 트리 순회 알고리즘이 필요하겠다. → 간편한 DFS 방식을 사용해볼까? 2. 트리의 크기를 최대 최소로 알아볼까? → 현재 가질 수 있는 맨 아래 최대 최소 좌표는 (9,-9) ~ (9,9)이다. 그 이유는 최대 1000개의 노드가 있으므로 2^n으로 등비수열의 합을 게산해보면 0 ~ 9 level까지 가능하다는 것을 확인할 수 있기 때문이다. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bqVdUi/btrLgNCA6pA/4azb0MIlVjn8KOOpvnEun0/img.jpg)
풀이 일자: 22.09.03 난이도: [Medium] 분류: [Backtracking/BFS] 문제 내용 자릿수에 관한 정보 n과 인접한 수와의 차이를 나타내는 k를 받아서 해당 조건에 맞는 수의 List를 반환하는 문제였다. 즉 n = 3, k = 7이라 했을 때, 세자리수이고 인접한 각 자리수의 차이가 7인 수의 List를 반환해야 하므로 [181, 292, 707, 818, 929]가 이에 해당한다. 문제 해결 흐름 1. 받는 k에 따라 0~9까지의 수의 다음에 나올 수 있는 수를 미리 저장해두어야겠다. → k=0일때를 제외하고 0~9까지의 수 n 다음에 나올 수 있는 수가 (n+k, n-k)이므로 해당 정보를 딕셔너리(해쉬)로 저장하자. k가 0일때는 n 다음에 n이 나와야 한다. 2. 이제 나올..