일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Math
- string
- Number Theory
- Stack
- 파이썬
- 코딩테스트
- 자바
- Data Structure
- Method
- dynamic programming
- simulation
- 구현
- greedy
- SQL
- implement
- Matrix
- 코테
- geometry
- Binary Tree
- bit manipulation
- array
- Counting
- Binary Search
- hash table
- Tree
- java
- Class
- two pointers
- sorting
- database
- Today
- Total
목록design (9)
코린이의 소소한 공부노트
목표: 해시에 관련된 빌트인 라이브러리를 사용하지 않고 해시맵 구현하기 - 생성자 - put(), get(), remove() 1. Input 1) 생성자: 없음 2) put(): int key, int value 3) get(): int key 4) remove(): int key 2. Output 1) put(): void. 해시맵에 (key, value) 추가. 만약 key가 있다면 값을 value로 변경 2) get(): key에 해당하는 value 반환. 만약 없다면 -1을 반환 3) remove(): void. key가 있다면 (key, value) 삭제 3. Constraint 1) 0
목표: 입력된 수 중 k번째로 큰 수를 반환하는 클래스 구현 - 생성자 - int add(int val) 1. Input 1) 생성자: k, int[] nums 2) add(): val - nums에 추가할 값 2. Output 1) add(): val을 추가한 후의 nums에서 k번째로 큰 값을 반환 3. Constraint 1) 1
목표: 배열의 부분 합을 계산하는 클래스 구현 - 생성자 - 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
목표: 특정 시간 내에 요청된 횟수를 세는 RecentCounter클래스 구현 - 생성자 – int ping(int t) 1. Input - ping(): 새 요청이 들어온 시간 2. Output - ping(): [t-3000, t] 시간 구간에 요청된 횟수를 반환 3. Constraint 1) 1 =t-3000) answer++; else break; } return answer; } }
목표: HashSet과 관련된 메서드를 아무 것도 쓰지 않고 HashSet을 구현하기 - 생성자 - add(), contains(), remove() 1. Input 1) add(): HashSet에 추가할 값 2) contains(): HashSet에 있는지 없는지 확인할 값 3) remove(): HashSet에서 제거할 값. 만약 해당 값이 HashSet에 없다면 아무 일도 일어나지 않는다. 2. Output 1) contains(): HashSet에 값이 있다면 true, 없다면 false를 반환 3. Constraint 1) 0
목표: 문자열과 점수를 매핑하고, 접두어가 입력으로 들어오면 접두어로 시작하는 문자열들의 점수 합을 반환해주는 MapSum 클래스 구현 - 생성자 MapSum() - insert(), sum() 1. Input 1) insert(): String key, int val - 매핑될 문자열과 점수가 입력으로 들어온다. 2) sum(): String prefix - 접두어가 입력으로 들어온다. 2. Output 1) insert() : void - 문자열과 점수를 매핑해 저장한다. 2) sum(): int - 접두어로 시작하는 문자열들의 점수 합을 반환한다. 3. Constraint 1) 1
목표: peek()을 지원하는 PeekingIterator 구현 - 생성자 – next(), hasNext(), peek() 메서드 1. Input - 생성자: Iterator iterator> 객체 2. Output - next(): 배열의 다음 객체를 반환하고, 포인터를 1칸 이동한다. - hasNext(): 배열에 요소가 남아있다면 true, 없다면 false를 반환한다. - peek(): 배열의 다음 객체를 반환하고, 포인터는 이동하지 않는다. 3. Constraint 1) 1
목표: ParkingSystem 클래스 구현 - 생성자 - addCar 메서드 1. Input 1) 생성자: big, medium, small의 차가 주차할 수 있는 공간을 int 변수로 입력받음 2) addCar: carType을 입력받음. 1=big, 2=medium, 3=small 2. Output 1) addCar: 주차 가능하면 true, 불가하면 false를 반환 - 이때 주차에 성공하면 남은 주차장 공간도 관리해줘야함 3. Constraint 1) 0 = 0){ medium--; result = true; } } else{ // carType == 3 if(small-1 >= 0){ small--; result = true; } } return result; } } - add만 하는 것은 문..
목표: 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