일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- SQL
- hash table
- array
- java
- 코테
- string
- dynamic programming
- 구현
- Binary Tree
- database
- geometry
- greedy
- 파이썬
- Binary Search
- implement
- sorting
- Class
- two pointers
- 코딩테스트
- Matrix
- 자바
- simulation
- Counting
- Data Structure
- Math
- Method
- Tree
- bit manipulation
- Stack
- Number Theory
- Today
- Total
목록자바 (584)
코린이의 소소한 공부노트
1. Input 1) 길이가 n인 2진수 문자열을 담고 있는 String 변수 boxes 2) boxes는 n개의 box로 구성되어 있다고 가정 3) i번째 box가 비어있다면 boxes[i] == '0' 4) i번째 box에 공이 1개 있다면 boxes[i] == '0' 2. Output 1) 길이가 n인 int 배열 answer 2) answer[i] == 모든 공을 i번째 box로 옮기는 데 필요한 최소 횟수 3) 한 번에 1개의 공을 옮길 수 있음 4) i번째 공은 j번째로만 옮길 수 있음(abs(i - j) == 1) 5) 옮기다보면 i번째 box에는 2개 이상의 공이 들어갈 수 있음 6) boxes의 초기값을 고려해서 answer를 계산해야함 3. Constraint 1) n == boxes...
1. Input 1) 2차원 좌표평면의 점의 좌표를 나타내는 배열 {x, y}를 담고 있는 int 배열 points 2) 중심이 (x,y)이고 반지름이 r인 원을 나타내는 배열 {x, y, r}를 담고 있는 int 배열 queries 2. Output 1) 정답을 담고 있는 int 배열 answer 2) answer[j] = queries[j] 내부에 포함되는 points[i]의 개수 3) 원 위의 점(가장자리)은 내부로 간주 3. Constraint 1) 1

[String 클래스] 1. 문자열을 다루기 위한 클래스 2. 내부적으로 char[]을 가지고 있다. 3. 내용을 변경할 수 없는 불변(immutable) 클래스다. 즉 한번 생성되면 수정할 수 없다. 아래처럼 문자열 결합을 해서 수정하는 것 같아 보이는 코드도 메모리에서는 우리의 생각과는 다른 일이 일어난다. - 문자열 결합(+)은 계속 String 객체를 만들어 내서 성능이 떨어진다. 문자열의 결합이나 변경이 잦다면, 내용을 변경할 수 있는 StringBuffer 클래스를 사용하는 것이 좋다. [문자열을 생성하는 방법] // 1. 기본형처럼 생성 String s1 = "abc";// 문자열 리터럴 "abc"의 주소가 s1에 저장됨 String s2 = "abc";// 문자열 리터럴 "abc"의 주소가..
목표: SubrectangleQueries 클래스 내부 구현 - 생성자 - updateSubrectangle 메서드 - getValue 메서드 1. Input 1) 생성자: 2차원 배열 2) updateSubrectangle: int 변수 row1, col1, row2, col2, newValue - 왼쪽 위 좌표 (row1, col1)부터 오른쪽 아래 좌표 (row2, col2) 까지 newValue로 값 변경 3) getValue: int 변수 row, col 2. Output 1) updateSubrectangle: void 2) getValue: 해당 좌표의 int 값 3. Constraint 1) 1
1. Input 1) String 변수 needle 2) String 변수 haystack 2. Output 1) haystack에서 needle이 처음으로 나오는 인덱스 2) needle이 haystack의 부분 문자열이 아니라면 -1 3) needle이 빈 문자열("")이라면 0 3. Constraint 1) 1
1. Input 1) 오름차순으로 정렬된 int 배열 nums 2. Output 1) 중복이 제거된 후 남은 숫자들의 개수 k 2) 중복이 제거된 숫자들은 nums의 앞쪽에 배치시킴 3) 뒷쪽을 채울 값은 신경쓰지 않음 4) k를 정답 계산기에 넣고 답이 맞는지 확인할 예정 - nums = {0, 0, 1, 2, 2}라고 한다면, 중복이 제거된 후에는 nums = {0, 1, 2, _, _}가 되므로 k = 3이 된다 - 이를 정답 계산기에 넣었을 때, 0번째부터 k-1번째까지 nums[i] == answer[i]인지 확인 3. Constraint 1) nums를 복사해서 이용하는 등 메모리를 더 사용하는 것은 금지 (O(1) extra memory) 2) 1
1. Input 1) 로마자를 담고있는 String 변수 s 2) 로마자의 숫자 표현 로마자 숫자 로마자 숫자 로마자 숫자 로마자 숫자 로마자 숫자 I 1 II 2 III 3 IV 4 V 5 VI 6 VII 7 VIII 8 IX 9 X 10 XX 20 XL 40 XC 90 CD 400 CM 900 L 50 C 100 D 500 M 1000 LX 60 CX 110 DC 600 MC 1100 2. Output 1) s의 로마자를 10진수로 바꾼 int 값 3. Constraint 1) 1
1. Input 1) int 변수 x 2. Output 1) boolean 값 2) 10진수 x를 거꾸로 써도 x라면 true, 아니면 false 3. Constraint 1) -2^31
1. Input 1) int 배열 nums 2) int 변수 target 2. Output 1) nums[i] + nums[j] == target을 만족시키는 int 배열 {i, j} 3. Constraint 1) 2

Object 클래스는 1. 모든 클래스의 최고 조상 클래스이다. 2. iv 없이 메서드만 11개 있다. - finalize(): 생성자와 반대 개념의 메서드. 메모리 부족으로 인해 객체를 없애야 할 때, finalize()에 수행되어야 할 코드가 있다면 이걸 실행하느라 메모리 정리하는 데 시간을 더 쓸 수 있으므로 가급적이면 사용하지 않는 메서드. - getClass(): Class 클래스는 클래스 정보(조상 클래스, iv 개수, 생성자 등)를 담기 위한 클래스. getClass()를 이용하면 메서드를 호출한 클래스의 정보가 담긴 Class 객체(인스턴스)를 반환. - notify(), notifyAll(), wait(): 쓰레드와 관련된 메서드. - protected 메서드인 clone()과 final..