일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- graph
- Java
- greedy
- leetcode
- Medium
- String
- python3
- dfs
- array
- 자료구조
- Leedcode
- Easy
- Hashtable
- SinglyLinkedList
- sorting
- 구현
- BFS
- hash
- ArrayList vs LinkedList
- 광연자동차운전면허학원
- Union Find
- stack
- VCS
- heap
- A* Algorithm
- DailyLeetCoding
- LinkedList
- hash table
- Two Pointers
- Bellman-Ford
- Today
- Total
목록전체 글 (88)
Min IT's Devlog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lqWm1/btr2D9fumQ7/S5l7naK6iaBW0Ld1xtgte1/img.jpg)
풀이 일자: 23.03.07 난이도: [Medium] 분류: [Binary Search] 문제 내용 time의 배열의 요소의 개수만큼의 bus가 있고 각각의 bus가 한번 trip을 돌 때의 시간이 각각의 배열 요소가 된다. 버스는 동시에 출발하며 서로 영향을 주지 않고 모든 버스의 trips의 합이 totalTrips이 되는 최소 시간을 구하는 문제이다. 문제의 예시를 그대로 든다면, Input: time = [1,2,3], totalTrips = 5 Time = 1이면 [1,0,0]번의 Trip을 각각 돌았을 것이기에 totalTrips는 1이 된다 Time = 2이면 [2,1,0]번의 Trip을 각각 돌았을 것이기에 totalTrips는 3이 된다 Time = 3이면 [3,1,1]번의 Trip을 각..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/oKuLf/btr1UUx2RuW/spDpbFx5tKSDT7ErMwnnK1/img.jpg)
풀이 일자: 23.03.05 난이도: [Hard] 분류: [Hash table, BFS] 문제 내용 arr이라는 배열이 주어졌을 때 다음과 같은 규칙으로 움직여서 배열의 끝까지 갈 때 가장 적은 step을 구하는 문제 1. 현재 위치 기준 앞뒤로 이동 가능하다. ( index범위 내에서) 2. 같은 배열값을 가지고 있는 다른 인덱스 위치로 이동 가능하다. 문제 해결 흐름 1. 어떤 알고리즘이 해당 문제에 적합할지 생각해보자. → 가장 단거리의 길을 찾는 것이 목표이므로 이를 위해 사용하는 알고리즘은 대충 DP와 그래프 순회정도이다. 2. DP의 경우 항상 최후의 수단으로 생각하고 일단 그래프 순회로 풀어보자. → DP의 경우 우선 점화식을 찾아야 하고 여러 가지를 고려해야하기에 다른 사용가능한 알고리즘을..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kY4ez/btr1QwWVFqH/P1AYKjZKtqRgemz5AbP7hK/img.jpg)
풀이 일자: 23.03.03 난이도: [Medium] 분류: [Two Pointer, String, String Match] 문제 내용 문제의 내용으로는 needle과 haystack이라는 변수에 담긴 문자열이 주어졌을 때 needle이 haystack에 포함되는 경우 포함되는 부분의 첫 인덱스를 리턴하고 포함하지 않는 경우 -1을 리턴하는 문제다. 문제 해결 흐름 1. 간단하게 생각해보면 열심히 순회를 하면서 needle과 같은게 나오는지 확인하면 된다.(Sliding Window) → 조금 더 생각해보면 while문으로 돌려서 현재의 인덱스(i) + len(needle) int: ans = -1; i = 0; while(i + len(needle) 가장 간단하게 떠올릴 수 있는 방법 Time Comp..