일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Easy
- VCS
- graph
- dfs
- greedy
- sorting
- Leedcode
- LinkedList
- 자료구조
- SinglyLinkedList
- ArrayList vs LinkedList
- 구현
- Java
- String
- python3
- Two Pointers
- stack
- heap
- Medium
- Union Find
- A* Algorithm
- leetcode
- hash table
- Hashtable
- DailyLeetCoding
- Bellman-Ford
- BFS
- hash
- 광연자동차운전면허학원
- Today
- Total
목록Hashtable (2)
Min IT's Devlog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/yeNzR/btsh4nkX8mi/j8FLTwGqkB8ovH0hDNVxtk/img.jpg)
풀이 일자: 23.05.31 난이도: [Medium] 분류: [Hash] 문제 내용 문제의 내용은 사용자들이 지하철을 타고 내릴 때 걸리는 시간의 평균을 리턴하는 문제였다. 문제 해결 흐름 1. 이 문제를 해결하기 위해서 떠오를 만한 방법은 해시정도? → 그 이유는 지하철을 환승한다던가 여러 곳을 거쳐야 한다던가하는 일이 없고 정직하게 시작점과 끝점의 시간정보와 사용자 수에 대한 정보만 가지고 있다면 되기 때문이다. → 또한 해시를 사용할 수밖에 없는 것이 배열에서 startStation과 endStation의 인덱스를 찾아서 그 인덱스로 2D array에서 평균 시간을 리턴하고 체크인 체크아웃을 하기에는 시간이 너무 많이 걸리기 때문이다. → 따라서 이중 해시를 이용해서 문제를 해결해보았다. class..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/deTUdj/btsgEc5KSFt/owjN8GgISMiVRF5nragsvk/img.jpg)
풀이 일자: 23.05.22 난이도: [Medium] 분류: [Hash Table, Divide and Conquer, Sorting, Heap, Bucket Sort] 문제 내용 단순하게 숫자 배열이 주어졌을 때 상위 k개의 빈번하게 등장하는 수를 순서상관 없이 리턴하는 문제였다. Follow-up에서는 NLogN의 시간복잡도를 갖는 알고리즘으로 풀어보라고 했다. 문제 해결 흐름 1. 단순하게 생각해보면 dictionary 하나 만들어서 숫자 카운트하고 이를 value기준으로 sort해서 return하면 끝나겠다. class Solution: def topKFrequent(self, nums: List[int], k: int) -> List[int]: cnt = dict(); for i in range..