일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 코테
- Tree
- SQL
- Number Theory
- 파이썬
- bit manipulation
- 자바
- Counting
- Binary Search
- array
- java
- Class
- Method
- sorting
- greedy
- Binary Tree
- database
- Stack
- Math
- simulation
- hash table
- string
- Data Structure
- Matrix
- geometry
- two pointers
- 코딩테스트
- dynamic programming
- Today
- Total
목록코딩테스트 풀이/JAVA (963)
코린이의 소소한 공부노트
1. Input 1) String s 2. Output 1) s를 0과 1이 번갈아가며 나타나는 이진 문자열로 바꾸는데 필요한 최소 변환 횟수를 반환 3. Constraint 1) 1
1. Input 1) String sequence 2) String word 2. Output 1) word가 sequence에서 반복되는 최대 수를 반환 3. Constraint 1) 1 0){ if(sequence.contains((word.repeat(rep)))){ ans = rep; break; } rep--; } return ans; } } - 91%, 60%
N명의 학생들을 키 순서대로 줄을 세우려고 한다. 각 학생의 키를 직접 재서 정렬하면 간단하겠지만, 마땅한 방법이 없어서 두 학생의 키를 비교하는 방법을 사용하기로 하였다. 그나마도 모든 학생들을 다 비교해 본 것이 아니고, 일부 학생들의 키만을 비교해 보았다. 1. 입력 - 첫째 줄에 N(1 ≤ N ≤ 32,000), M(1 ≤ M ≤ 100,000)이 주어진다. M은 키를 비교한 횟수이다. - 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의미이다. - 학생들의 번호는 1번부터 N번이다. 2. 출력 - 첫째 줄에 학생들을 앞에서부터 줄을 세운 결과를 출력한다. 답이 여러 가지인 경우에는 아무거나 출력한다. 3. 예제 4. 코드 imp..
1. Input 1) int[] releaseTimes 2) String keysPressed 2. Output 1) keysPressed[i]를 releaseTimes[i-1]에 눌렀다가 releaseTimes[i]에 떼는 작업을 했을 때, 한번에 가장 오래 누른 키를 char로 반환 - keysPressed[0]은 0에 눌렀다가 releaseTimes[0]에 뗐다. - 답이 여러 개라면 사전순으로 나열했을 때 가장 뒤에 있는 것을 반환 3. Constraint 1) releaseTimes.length == keysPressed.length == n 2) 2
1. Input 1) String path - 움직일 순서가 동서남북(E,W,S,N)으로 적혀있다. 2. Output 1) (0,0)에서 시작해 path를 따라 움직일 때 지나왔던 경로를 겹쳐 지나게 되면 true, 아니면 false를 반환 - path를 따라 움직일 때 해당 방향으로 1씩 움직인다. 3. Constraint 1) 1 Output: true 설명: - 겹치는 경로가 없다. - (0,0)에서 겹치게 된다. 5. Code 1) 첫 코드(2023/06/13) class Solution { public boolean isPathCrossing(String path) { HashSet s = new HashSet(); s.add("0,0"); boolean cross = false; int x =..
1. Input 1) int n 2. Output 1) 1부터 n까지의 수들을 각 숫자의 자릿수의 합으로 그룹을 나눌 때, 그룹의 크기가 가장 큰 것들이 몇개인지 반환 3. Constraint 1) 1
1. Input 1) final TreeNode original 2) final TreeNode cloned - original을 복사한 트리 3) final TreeNode target - original의 노드 중 하나 2. Output 1) cloned에서 target과 같은 것을 찾아 반환 3. Constraint 1) 트리의 노드 수의 범위는 [1, 10^4]이다. 2) 노드의 값에는 중복이 없다. 3) 타겟 노드는 null이 아니다. 4. Example Input: tree = [7,4,3,null,null,6,19], target = 3 -> Output: 3 설명: 왼쪽 트리가 original, 오른쪽 트리가 cloned, 연두색이 target, 노란색이 반환해야 할 노드이다. 5. Cod..
1. Input 1) int[] arr - arr는 오름차순으로 정렬되어있다. 2. Output 1) arr의 25%를 넘게 차지하고 있는 요소를 반환 3. Constraint 1) 1
1. Input 1) int n 2. Output 1) 1부터 n까지의 수를 크기가 n인 배열에 담을 때, 다음을 만족하는 경우의 수를 1000000007로 나눈 나머지를 반환 - 배열의 인덱스는 [1, n]이다. - 소수는 인덱스 값이 소수인 곳에만 위치할 수 있다. 3. Constraint 1) 1