Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- array
- SQL
- string
- hash table
- Counting
- dynamic programming
- sorting
- Binary Search
- Data Structure
- two pointers
- 파이썬
- Tree
- Matrix
- 코딩테스트
- Stack
- simulation
- 코테
- geometry
- Class
- bit manipulation
- greedy
- Number Theory
- 자바
- Method
- implement
- 구현
- Math
- java
- database
- Binary Tree
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 706. Design HashMap 본문
목표: 해시에 관련된 빌트인 라이브러리를 사용하지 않고 해시맵 구현하기
- 생성자
- 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 <= key, value <= 10^6
2) 메서드는 최대 10^4번까지 호출될 수 있다.
4. Example
MyHashMap myHashMap = new MyHashMap();
myHashMap.put(1, 1); // map = [[1,1]]
myHashMap.put(2, 2); // map = [[1,1], [2,2]]
myHashMap.get(1); // return 1, map = [[1,1], [2,2]]
myHashMap.get(3); // return -1(없음), map = [[1,1], [2,2]]
myHashMap.put(2, 1); // map = [[1,1], [2,1]](변경)
myHashMap.get(2); // map = [[1,1], [2,1]]
myHashMap.remove(2); // [2,1]삭제, map = [[1,1]]
myHashMap.get(2); // return -1(없음), map = [[1,1]]
5. Code
1) 첫 코드(2023/05/30)
class MyHashMap {
ArrayList<Integer> klist, vlist;
public MyHashMap() {
klist = new ArrayList<>();
vlist = new ArrayList<>();
}
public void put(int key, int value) {
if(!klist.contains(key)){
klist.add(key);
vlist.add(value);
} else
vlist.set(klist.indexOf(key), value);
}
public int get(int key) {
if(!klist.contains(key))
return -1;
else
return vlist.get(klist.indexOf(key));
}
public void remove(int key) {
if(klist.contains(key)){
int i = klist.indexOf(key);
klist.remove(i);
vlist.remove(i);
}
}
}
/**
* Your MyHashMap object will be instantiated and called as such:
* MyHashMap obj = new MyHashMap();
* obj.put(key,value);
* int param_2 = obj.get(key);
* obj.remove(key);
*/
- 6%, 94%
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[프로그래머스/Lv.0] 저주의 숫자 3 (0) | 2023.05.30 |
---|---|
[프로그래머스/Lv.0] 등수 매기기 (0) | 2023.05.30 |
[LeetCode/Easy] 703. Kth Largest Element in a Stream (0) | 2023.05.30 |
[LeetCode/Easy] 700. Search in a Binary Search Tree (0) | 2023.05.30 |
[LeetCode/Easy] 697. Degree of an Array (0) | 2023.05.29 |