CodingTest/LeetCode
[LeetCode] 350. Intersection of Two Arrays II, Easy
뜸부깅
2025. 4. 9. 12:29
반응형
1. 문제
- 정수 배열 nums1, nums2가 주어질 때, 두 배열에서 공통으로 등장하는 요소를 반환하라.
- 이 결과에는 등장 횟수만큼 중복될 수 있다. (349번 문제는 고유한 요소 반환)
2. 해결
function intersect(nums1: number[], nums2: number[]): number[] {
const map = new Map<number,number>();
for(const num of nums1) {
if(map.has(num)) map.set(num, map.get(num) + 1)
else map.set(num, 1)
}
const result = [];
for(const num of nums2) {
if(map.has(num) && map.get(num) > 0) {
result.push(num);
map.set(num, map.get(num) - 1);
}
}
return result;
};
- nums1을 탐색하면서, set에 count를 value로 하여 쌓는다.
- nums2를 탐색하면서, map에 있고 count가 0 이상인 경우 결과 배열에 담고 -1.