본문 바로가기

Algorithm/Brute Force

(C++) - LeetCode (easy) 350. Intersection of Two Arrays II

반응형

https://leetcode.com/problems/intersection-of-two-arrays-ii/description/

 

Intersection of Two Arrays II - LeetCode

Intersection of Two Arrays II - Given two integer arrays nums1 and nums2, return an array of their intersection. Each element in the result must appear as many times as it shows in both arrays and you may return the result in any order.   Example 1: Input

leetcode.com

전수조사 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

nums1의 원소와 빈도수를 key, value로 저장할 map nums1Map, 정답 vector ans를 선언합니다.

📔 풀이과정

1. nums1의 원소들을 순회하며 nums1Map에 저장해줍니다.2. num2의 원소들을 순회하며 nums1Map에 해당 원소가 있다면 1씩 빼주고 ans에 해당값을 저장함으로써 교집합을 구해줍니다.

📔 정답 출력 | 반환

ans를 반환합니다.


📕 Code

📔 C++

class Solution {
public:
    vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
        vector <int> ans;
        map <int, int> nums1Map;
        for(auto n : nums1) {
            nums1Map[n]++;
        }
        for(auto n : nums2) {
            if(nums1Map[n]) {
                nums1Map[n]--;
                ans.push_back(n);
            }
        }

        return ans;
    }
};

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.