일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 구현
- Math
- 코딩테스트
- Method
- bit manipulation
- two pointers
- 코테
- Stack
- hash table
- geometry
- SQL
- 파이썬
- greedy
- Matrix
- Binary Search
- dynamic programming
- sorting
- implement
- Tree
- Counting
- Data Structure
- java
- simulation
- Class
- string
- 자바
- Number Theory
- Binary Tree
- database
- array
- Today
- Total
목록코딩테스트 풀이/JAVA (963)
코린이의 소소한 공부노트
1. Input 1) TreeNode root 2. Output 1) root에 있는 두 노드의 값의 차가 가장 작은 것을 반환 - 차는 절댓값으로 계산한다. 3. Constraint 1) 노드의 수는 [2, 10^4]이다. 2) 0
1. Input 1) int[] score 2. Output 1) 각 점수에 대해서 등수를 매긴 string[]을 반환 - 1등은 “Gold Medal" - 2등은 "Silver Medal" - 3등은 “Bronze Medal" - x등은 “x" 3. Constraint 1) n == score.length 2) 1
1. 입력 - 숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다. 2. 출력 - 제일 작은 수, 그 다음 수, 제일 큰 수를 차례대로 출력한다. 3. 예제 4. 코드 import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int[] num = new int[3]; for(int i=0 ; inum[j+1]){ int tmp = num[j]; num[j] = num[j+1]; num[j+1] = tmp; j--; } } for(int i=0 ; i
1. Input 1) int[] nums 2. Output 1) nums에서 연속된 1의 개수를 세어 가장 많은 것을 반환 3. Constraint 1) 1 Output: 2 5. Code 1) 첫 코드(2023/05/19) class Solution { public int findMaxConsecutiveOnes(int[] nums) { int max = 0; for(int i=0 ; i
1. Input 1) String s 2) int k 2. Output 1) s를 n개의 그룹으로 나누고, 그룹 사이에는 ‘-’를 1개씩 넣은 문자열을 반환 - 이때 첫 번째 그룹을 제외한 나머지 그룹은 반드시 1개 이상 k개 이하의 문자가 들어가야 한다. 3. Constraint 1) 1
1. Input 1) String s 2. Output 1) s의 한 부분 문자열을 반복해서 s를 만들 수 있다면 true, 만들 수 없다면 false를 반환 3. Constraint 1) 1 Output: false 5. Code 1) 첫 코드(2023/05/19) class Solution { public boolean repeatedSubstringPattern(String s) { boolean find = false; for(int i=1 ; i
1. Input 1) String num1 2) String num2 2. Output 1) num1과 num2의 합을 문자열로 반환 - BigInteger와 같은 빌트인 라이브러리 사용 금지 3. Constraint 1) 1 Output: "533" 5. Code 1) 첫 코드(2023/05/19) class Solution { public String addStrings(String num1, String num2) { Stack stack = new Stack(); int carry = 0, i1 = num1.length()-1, i2 = num2.length()-1; while(i1>=0 || i2>=0){ int x = carry; if(i1>=0) x += num1.charAt(i1--)-'0..
1. Input 1) String s 2) String t 2. Output 1) s가 t의 subsequence라면 true, 아니면 false를 반환 - subsequence란 문자가 연속적이지 않아도 차례대로 다른 문자열에 순서대로 있는 것을 말한다. 예를 들면 “ace"는 "abcde"의 subsequence지만 ”aec"는 아니다. 3. Constraint 1) 0
목표: 배열의 부분 합을 계산하는 클래스 구현 - 생성자 - int sumRange(int left, int right) 1. Input 1) 생성자: int[] nums; 2) sumRange(): 부분 합을 구할 인덱스의 범위 2. Output 1) sumRange(): nums[left]부터 nums[right]까지의 합 3. Constraint 1) 1