반응형
https://leetcode.com/problems/design-hashmap/description/
map을 사용하는 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
class내 map을 선언 후 생성자에서 원소를 clear해줍니다.
📔 풀이과정
1. put의 경우
insert함수로 data를 넣을 수도 있지만 C++에서는 특별히 배열에 접근해 값을 넣듯이 map에 원소를 넣을 수 있는 syntax가 있습니다. 이를 활용해 받은 인지 key, value를 저장해줍니다.
2. get의 경우 key를 count했을 때 존재하면 해당 key를, 아니라면 -1을 반환하면 됩니다.
3. remove의 경우 erase함수를 써 map의 특정 key를 삭제할 수 있습니다.
📕 Code
📔 C++
class MyHashMap {
public:
map <int, int> m;
MyHashMap() {
m.clear();
}
void put(int key, int value) {
m[key] = value;
}
int get(int key) {
if(m.count(key)) return m[key];
return -1;
}
void remove(int key) {
if(m.count(key)) m.erase(key);
}
};
/**
* 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);
*/
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > 자료구조' 카테고리의 다른 글
(C++) - LeetCode (easy) 884. Uncommon Words from Two Sentences (0) | 2023.08.11 |
---|---|
(C++) - LeetCode (easy) 771. Jewels and Stones (0) | 2023.07.12 |
(C++) - LeetCode (easy) 703. Kth Largest Element in a Stream (0) | 2023.06.17 |
(C++) - LeetCode (easy) 697. Degree of an Array (0) | 2023.06.14 |
(C++) - LeetCode (easy) 671. Second Minimum Node In a Binary Tree (0) | 2023.06.07 |