일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Leedcode
- stack
- greedy
- ArrayList vs LinkedList
- python3
- 광연자동차운전면허학원
- heap
- 자료구조
- SinglyLinkedList
- Java
- hash table
- DailyLeetCoding
- leetcode
- dfs
- Hashtable
- 구현
- Medium
- hash
- Easy
- VCS
- sorting
- Union Find
- String
- array
- Bellman-Ford
- A* Algorithm
- Two Pointers
- LinkedList
- graph
- BFS
- Today
- Total
목록sorting (4)
Min IT's Devlog
풀이 일자: 23.09.25 난이도: [Easy] 분류: [Hash Table/String/Bit Manipulation/Sorting] 문제 내용 s와 t가 주어졌을 때 s에서 1개의 letter을 추가로 넣고 섞었다고 했을 때 추가된 letter가 뭔지를 return하는 문제이다. ( 실제로는 s를 섞고 임의의 위치에 letter를 넣었다고 나오지만 편의상 넣고 섞었다고 보자) 문제 해결 흐름 1. 사실상 딱 봐도 Hash를 사용해야 하는 것이 자명하다. → 여러개의 알파벳이 중복해서 있을 수 있고 각각의 알파벳과 숫자를 모두 기억해두어야 하기 때문이다. 2. 그렇다면 s와 t중에서 뭐를 dictionary로 바꾸고 나머지를 순회해가면서 비교할지 결정해야 한다. → 나라면 s를 dictionary로 ..
풀이 일자: 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..
풀이 일자: 23.04.03 난이도: [Medium] 분류: [Array, Two Pointers, Greedy, Sorting] 문제 내용 사람들의 무게가 담긴 people이라는 배열이 주어졌을 때 최대중량이 limit인 배를 이용해 최대 2명의 사람들을 운반하고자 한다면 최소 몇 개의 배가 필요한지에 대한 문제였다. 문제 해결 흐름 1. 제일 먼저 떠올릴 수 있는 건 Greedy가 제일 먼저 떠오르겠다. → 최소한으로 옮겨야 하므로 Greedy하게 무게가 제일 많이 나가는 애랑 적게 나가는 애랑 같이 운반할 수 있다면 최소가 되겠네 2. 무게의 순서가 중요하니까 people에 대한 sort는 필수적이다. → sort를 해서 시작점과 끝점에 포인터를 두고 가장 무게가 큰 것부터 시작해서 되도록 맨 앞에..
풀이 일자: 23.04.02 난이도: [Medium] 분류: [Array, Two Pointers, Binary Search, Sorting] 문제 내용 문제의 내용은 정수가 담긴 2개의 배열이 주어지고 이 배열들 간의 이루어질 수 있는 원소들간의 곱이 success라고 하는 기준점 이상인 경우를 count해서 spells 기준으로 가능한 경우의 수를 리턴하는 문제이다. spells = [5,1,3], potions= [1,2,3,4,5], success = 7 spells = 5 => [5,10,15,20,25] # successful 횟수는 4 spells = 1 => [1,2,3,4,5] # successful 횟수는 0 spells = 3 => [3,6,9,12,15] # successful 횟수..