| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 | 30 | 31 |
- binary tree
- recursion
- Java
- coding
- programmers
- hashset
- priority queue
- greedy
- two pointers
- 리트코드
- PCCP
- 부분배열
- 알고리즘
- leetcode
- 우선순위 큐
- 브루트포스
- Algorithm
- ArrayList
- dfs
- HashMap
- Array
- 재귀함수
- 깊이우선탐색
- DP
- string
- Today
- Total
목록coding (4)
지식창고
Priority Queue ? Priority Queue(우선순위 큐)는 일반적인 큐의 구조(FIFO)를 가진다. '우선순위' 라는 것을 활용해 데이터에 의미를 부여하고 그에 따라 큐가 작동하는 자료구조이다. 즉, 우선순위가 높은 데이터가 먼저 나간다. Priority Queue의 특징 우선순위를 지정해줄 수 있다. 내부 요소는 Heap으로 구성되어 Binary Tree 구조이다. 시간 복잡도는 O(NlogN)이다. Queue에 들어갈 데이터의 형태에 따라 다른데, 사용자가 선언한 Class의 객체라면 사용자가 해당 Class에서 Comparable Interface를 구현해서 Override 해줘야 Priority Queue에 넣고 사용할 수 있다. Priority Queue Declaration im..
Hash Map ? Hash Map은 Map 인터페이스를 구현한 컬렉션이다. Map 의 성질을 가지고 있으며 해싱(Hashing)을 사용하기 때문에 많은 데이터에서 빠른 속도로 검색이 가능하다. Hash Map의 특징 1. 키와 값으로 구성되어 있다. 2. 값을 중복이 가능하지만 키는 중복이 불가능하다. 3. 만약 중복이 되는 키 값을 삽입할 경우 이전 값은 없어지고 새로운 값으로 저장된다. 4. List와 다르게 정해놓은 용량을 넘어서서 새로운 값을 add하면 한 칸씩 늘어나는 것이 아니라 약 두 배씩 용량이 들어난다. - 따라서 Hash Map을 선언할 때, 얼마나 쓸건지 알고있다면 capacity를 미리 정해주는게 좋다. Hash Map Declaration HashMap hashmap = new ..
LeetCode 2244. Minimum Rounds to Complete All Tasks - Java 문 제 : task의 difficulty를 값으로 가지는 정수배열 tasks가 주어진다. 작업자는 같은 difficulty를 가지는 작업을 2~3개를 한 번에 처리할 수 있다. 가장 최소로 작업을 처리하기 위한 횟수를 구해라. (처리할 작업이 1개라면 -1을 리턴) Input: tasks = [2,2,3,3,2,4,4,4,4,4] Output: 4 Explanation: To complete all the tasks, a possible plan is: - In the first round, you complete 3 tasks of difficulty level 2. - In the second r..
Leetcode 791. Custom Sort String - Java 문제 : s에 있는 문자열을 order 기준으로 정렬 Input: order = "cba", s = "abcd" Output: "cbad" 문자열 s 에서 각 알파벳이 몇 번 나왔는지 count 배열에 저장해 관리한다. int[] cnt = new int[128]; for(char ch : s.toCharArray()) { cnt[ch]++; } 정렬의 기준이 되는 문자열 order에 알파벳을 빠짐없이 들어갈 수 있도록 더해준다. order += "abcdefghijklmnopqrstuvwxyz"; Output을 저장할 변수 result를 선언한다. order를 기준으로 cnt 배열을 확인하며 결과 값에 저장한다. for(char c..