일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- implement
- dynamic programming
- Counting
- SQL
- greedy
- 코딩테스트
- bit manipulation
- java
- Number Theory
- Method
- database
- Binary Tree
- 파이썬
- 구현
- two pointers
- simulation
- array
- hash table
- sorting
- 자바
- Matrix
- geometry
- Tree
- Stack
- 코테
- string
- Math
- Binary Search
- Class
- Data Structure
- Today
- Total
목록greedy (35)
코린이의 소소한 공부노트
1. Input 1) 양의 정수 num 2) num은 6과 9로만 이루어져 있다. 2. Output 1) nums의 숫자를 1개만 바꿔서 만들수 있는 가장 큰 수 2) 9는 6으로, 6은 9로만 바꿀 수 있다. 3. Constraint 1) 1
1. Input 1) ‘L’과 ‘R’의 개수가 같은 문자열 s 2. Output 1) s가 ‘L’과 ‘R’의 개수가 같은 여러 개의 문자열로 쪼개질 수 있다고 할때, 그 문자열의 최대 개수 3. Constraint 1) 2
1. Input 1) 고객들이 지불한 금액이 순서대로 담긴 int 배열 bills 2. Output 1) 고객들에게 맞는 잔돈을 지불할 수 있다면 true, 아니면 false 반환 2) 레모네이드 한잔에 5원이다 3) 화폐는 5원, 10원, 20원의 3종류가 있고, 고객은 이 중 하나를 지불한다. 4) 나는 잔돈 없이 장사를 시작하고, 갖고 있는 돈 내에서 고객에게 잔돈을 지불해줘야 한다. 3. Constraint 1) 1 잔돈X -> 수중에 5원 1개 - 두 번째 고객 -> 잔돈X -> 수중에 5원 2개 - 세 번째 고객 -> 잔돈 5 -> 수중에 5원 1개, 10원 1개 - 네 번째 고객 -> 잔돈 5 -> 수중에 10원 1개 - 다섯 번째 고객 -> 잔돈 15 -> 지불 불가 -> false 반환 ..
1. Input 1) int 배열 nums 2. Output 1) nums 안의 수를 2개씩 그룹을 했을 때, 각 그룹에서 더 작은 수끼리의 합을 구한다. 2) 그룹을 지을 수 있는 가능한 모든 경우의 수 중 합이 가장 큰 것을 반환한다. 3. Constraint 1) 1 1 + 3 = 4 따라서 가장 큰 합인 4를 반환한다. 5. Code 1) 첫 코드(2022/07/02) Arrays.sort(nums); int sum = 0; for(int i=0 ; i
1. Input 1) 3n개의 음이 아닌 정수를 담은 int 배열 piles 2) piles[i]는 동전 더미이며, piles[i]의 값은 동전의 개수를 나타낸다. 3) 나를 포함한 3명이 동전을 나눠가질 예정이다. 4) 내가 3n개의 동전 더미 중 3개를 골랐을 때, 셋 중 동전의 개수가 2번째로 많은 더미를 가져갈 것이다. 2. Output 1) 내가 최대한으로 가져갈 수 있는 동전의 개수를 담은 int 변수 max 2) 동전 더미는 남는 것 없이 모두 가져가야 한다. 3. Constraint 1) 3