본문 바로가기
반응형

C++153

[알고리즘] 홈 방범 서비스 포인트 1. 홈 방범 서비스 -> 각각의 영역을 돌면서 서비스에 최대 값을 찾아준다. 2. bfs를 이용하여 각각의 서비스를 이용할 수 있게 한다. -> 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. c++/cpp #include #include #include #include using namespace std; int n, m, answer; int map[20][20]; bool visited[20][20]; int dx[] = {0, 0, 1, -1}; int dy[] = {1, -1, 0, 0}; int calc(int k) { return (k * k) + (k - 1) * (k - 1); } void bfs(int a, int b) { queue q; q.push(make_pair.. 2021. 3. 8.
[알고리즘] Longest Substring Without Repeating Characters 포인트 1. 중복 문자가 없는 가장 긴 부분 문자열의 길이를 반환을 하는 방법 2. 딕셔너리를 하나 만들고 인덱스를 넣어가면서 지속적으로 업데이트? 하는 방법이 있을 것 같다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. c++/cpp #include using namespace std; class Solution { public: int lengthOfLongestSubstring(string s) { unordered_map used; // 해시를 하나 지정을 해준다 int start = 0; int max_length = 0; for (auto i = 0; i < s.size(); i++) //char 를 돌면서 { char ele = s[i]; if (used.find(ele) != .. 2021. 3. 8.
[알고리즘] Jewels and Stones 포인트 1. 해시를 이용하여 Counter 및 개수를 확인하는 방법 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. c++/cpp #include using namespace std; class Solution { public: int numJewelsInStones(string jewels, string stones) { unordered_map map; for (auto ele : stones) { map[ele] += 1; } int cnt = 0; for (auto ele : jewels) { cnt += map[ele]; } return cnt; } }; python class Solution: def topKFrequent(self, nums: List[int], k: int) -> .. 2021. 3. 8.
[알고리즘] Top K Frequent Elements 포인트 1. 힙을 사용하여 어떤 식으로 가장 많은 것들을 받아 올 수 있는지를 확인할 수 있다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. c++/cpp #include using namespace std; class Solution { public: vector topKFrequent(vector& nums, int k) { unordered_map map; for(int num : nums){ map[num]++; } vector result; priority_queue pq; for(auto it = map.begin(); it != map.end(); it++){ pq.push(make_pair(it->second, it->first)); if(pq.size() > map.size(.. 2021. 3. 8.
반응형