일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SQL
- Matrix
- database
- Class
- java
- greedy
- two pointers
- Stack
- string
- Binary Search
- Tree
- array
- Data Structure
- Math
- implement
- 파이썬
- Number Theory
- 자바
- sorting
- 구현
- Counting
- bit manipulation
- geometry
- hash table
- 코딩테스트
- 코테
- simulation
- Binary Tree
- Method
- dynamic programming
- Today
- Total
목록코테 (982)
코린이의 소소한 공부노트
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) Table: Products (pk: product_id) 2) Table: Orders (no pk) 2. Output 1) 상품들 중 2020년 2월에 최소 100개 이상 팔린 제품의 이름과 그 양을 출력 - 출력 순서는 상관 없다. 3. Example 4. Code 1) 첫 코드(2023/06/11) select p.product_name, o.unit from Products p, ( select product_id, sum(unit) as unit from Orders where order_date between '2020-02-01' and '2020-02-29' group by product_id ) o where p.product_id = o.product_id and..
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
1. Input 1) Table: Activity (pk: 없음) 2. Output 1) 2019년 7월 27일까지의 30일동안 각 날짜마다 액티비티를 즐긴 사람들의 수를 출력 - 출력 순서는 상관 없다. 3. Example 4. Code 1) 첫 코드(2023/06/08) select activity_date as day, count(user_id) as active_users from ( select user_id , activity_date from Activity where activity_date between '2019-06-28' and '2019-07-27' group by user_id, activity_date ) a group by day; - 33%