일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Method
- hash table
- Binary Search
- Binary Tree
- Tree
- Matrix
- Math
- dynamic programming
- java
- Counting
- two pointers
- 코테
- array
- simulation
- string
- Stack
- database
- 파이썬
- implement
- 자바
- Class
- Data Structure
- 구현
- SQL
- Number Theory
- sorting
- geometry
- bit manipulation
- 코딩테스트
- greedy
- Today
- Total
목록Binary Search (19)
코린이의 소소한 공부노트
1. Input 1) 정수 배열 nums 2) 정수 target 2. Output 1) nums를 오름차순으로 정렬 후 target의 인덱스를 담은 list를 반환 - 반환되는 list도 오름차순으로 정렬되어 있어야 한다. 2) nums에 target이 없다면 빈 리스트를 반환 3. Constraint 1) 1
1. Input 1) 음이 아닌 정수 배열 nums 2. Output 1) nums를 특별하게 만들어주는 숫자 x 2) nums가 특별하지 않다면 –1 // 배열이 특별하기 위한 조건 - 해당 배열에 x 이상인 수가 정확히 x개 있을 때 - x는 배열에 없는 숫자여도 상관 없다. - x는 개수에 해당하는 숫자이므로 음수가 될 수 없다. 3. Constraint 1) 1 =0 ; i--){ if(nums[i]>=x) count++; else break; } if(x==count) break; count = 0; x--; } return x==0 ? -1 : x;
1. Input 1) 정수 n 2. Output 1) 동전을 i번째 줄에 i개씩 채울 때, n개를 다 쓰고 나서 완전히 채워진 줄의 개수 3. Constraint 1) 1 남은 동전 7개 - 2번째 줄에 2개 -> 남은 동전 5개 - 3번째 줄에 3개 -> 남은 동전 2개 - 4번째 줄에 4개 -> 2개밖에 없으므로 3줄만 완전히 채워진다. 따라서 3을 반환한다. 5. Code 1) 첫 코드(2022/12/25) int line = 1; while(true){ n -= line; if(n
1. Input 1) 정수 배열 arr1 2) 정수 배열 arr2 3) 정수 d 2. Output 1) arr1과 arr2의 거리값 반환 2) 거리값이란 arr1의 요소에 대해 모든 arr2의 요소와의 차의 절댓값이 d보다 큰 arr1의 요소의 개수를 말한다. 3. Constraint 1) 1 d=2 |5-9|=4 > d=2 |5-1|=4 > d=2 |5-8|=3 > d=2이므로 OK - arr1[2]=8에 대해서 |8-10|=2 == d=2 (X) |8-9|=1 d=2 |8-8|=0 < d=2 (X)이므로 제외 - 조건을 만족하는 수는 2개이므로 2를 반환한다. 5. Code 1) 첫 코드(2022/07/05) int count = 0; for(int i=0 ; i
1. Input 1) m행 n열 행렬 grid 2. Output 1) grid 내의 음수의 개수 3. Constraint 1) m == grid.length 2) n == grid[i].length 3) 1
1. Input 1) 정수 배열 arr 2. Output 1) 다음 규칙을 만족하는 인덱스 i와 j가 있으면 true, 없으면 false를 반환 2) 규칙 - i != j - 0
1. Input 1) 배열의 요소가 문자 1개인 문자열 배열 letters 2) 문자 1개를 담은 문자열 변수 target 2. Output 1) 사전순으로 생각했을 때 letters에서 target보다 뒤에 나오는 문자 중 가장 작은 것 2) 없다면 letters[0]을 반환 3. Constraint 1) letters는 사전순으로 정렬되어 있다. 2) 2 Output: "x“ 설명: - c보다 뒤에 오는 것은 f와 j이고, 이중 가장 작은 것은 f이므로 “f”를 반환한다. - letters의 모든 문자들이 z보다 뒤에 오는 것이 없으므로 letters의 가장 앞 문자인 “x”를 반환한다. 5. Code 1) 첫 코드(2022/07/19) char c = letters[0]; for(int i=0 ; i
1. Input 1) int 배열 nums 2) nums에는 0 이상 n 이하의 n+1개의 수 중 n개의 수가 1개씩 담겨 있음 2. Output 1) nums에 담기지 못한 숫자 3. Constraint 1) n == nums.length 2) 1