일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- array
- LinkedList
- python3
- String
- stack
- VCS
- 구현
- heap
- sorting
- leetcode
- hash table
- Java
- Hashtable
- Easy
- dfs
- 광연자동차운전면허학원
- Bellman-Ford
- ArrayList vs LinkedList
- SinglyLinkedList
- Union Find
- A* Algorithm
- graph
- BFS
- Medium
- greedy
- Leedcode
- 자료구조
- hash
- DailyLeetCoding
- Two Pointers
- Today
- Total
목록전체 글 (88)
Min IT's Devlog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dgZALU/btrZz0fM67E/MyFk8JHs2XPhSVr0nhB6rk/img.png)
풀이 일자: 23.02.16 난이도: [Silver 3] 분류: [DP] 문제 내용 문제 해결 흐름 1. 대표적인 DP문제로 점화식을 뽑아내는 것이 가장 중요하다. → 해당 문제에서 가장 중요한 제약 조건은 시작점을 계단으로 치지 않고 세 계단 연속으로 밟을 수 없다는 것이었다. → 3번째 계단까지는 시작점을 계단으로 계산하지 않는다는 점에서 따로 계산했고 그 이후부터는 점화식을 사용했다. dp[i-2] => 2칸으로 현재 위치로 올라왔을 때 값 dp[i-3] + stair[i-1] => 1칸으로 현재 위치로 올라왔을 때 값 ex. 왜 dp[i-1]로 안했는지에 대한 의문이 든다면? 만약 dp[i-1]이라고 하자.. dp[i-1]은 현재 위치보다 1보다 낮은 계단에 도착했을 때의 최대값이다. 그런데 dp..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dfK1Vk/btrZttCzhdc/BWQRtuTzOMMhiweftqkhf0/img.jpg)
풀이 일자: 23.02.16 난이도: [Easy] 분류: [Tree, DFS, BFS] 문제 내용 이진 트리의 root Node가 주어지면 해당 tree의 최대 depth를 구하는 문제이다. 문제 해결 흐름 1. 단순한 트리 순회 문제로 트리 순회 알고리즘 둘 중 아무거나 사용해도 무방하다. → BFS를 이용해 구해보자. # 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 maxDepth(self, root: Optional[Tre..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Ws8Lj/btrZrT1U9on/5ZmxuchoCbJB1ORCkspwTk/img.jpg)
풀이 일자: 23.02.15 난이도: [Easy] 분류: [Array, Math] 문제 내용 int형 배열 num과 int형 변수 k가 주어졌을 때 num+k의 결과를 array형태로 리턴시키는 문제 문제 해결 흐름 저번에 풀었던 2023.02.14 - [코테/LeetCode] - [python3] 67. Add Binary문제와 사실상 비슷한 문제이다. 다만 num내부의 자료형이 int이고 결과도 int로 해야하기 때문에 저번처럼 여러번 자료형 변환을 거쳐 푸는 것은 비효율적으로 보인다. 1. k의 각 자리를 분리하기 위한 방법을 생각해보자. → 일반적인 십진수의 경우 각 자리를 구하는 방법은 반복문을 돌려가며 일의 자리를 하나씩 확인하는 방법이 존재한다. k = 112; ans = [] while (..