Menu
Coddy logo textTech

수학 - 차집합

Coddy JavaScript 여정의 논리 & 흐름 섹션에 포함된 레슨 — 65개 중 38번째.

두 집합 A와 B의 차집합(흔히 A - B로 표기됨)은 A에는 속하지만 B에는 속하지 않는 원소들을 포함하는 새로운 집합입니다. 이 연산은 교환 법칙이 성립하지 않으며, 이는 A - B가 반드시 B - A와 같지는 않음을 의미합니다.

예를 들어:

const setA = new Set([1, 2, 3, 4, 5]);
const setB = new Set([3, 4, 5, 6, 7]);

// A - B: A에는 있지만 B에는 없는 요소들
const differenceAB = new Set([...setA].filter(x => !setB.has(x)));
console.log('A - B:', differenceAB); // Set { 1, 2 }

// B - A: B에는 있지만 A에는 없는 요소들
const differenceBA = new Set([...setB].filter(x => !setA.has(x)));
console.log('B - A:', differenceBA); // Set { 6, 7 }
challenge icon

챌린지

쉬움

arr1arr2라는 두 개의 배열을 매개변수로 받는 setDifference라는 함수를 만드세요. 이 함수는 배열을 세트(set)로 변환해야 합니다. set1에는 있지만 set2에는 없는 요소들을 포함하는 새로운 세트를 생성하고, 이를 배열로 변환하여 반환하세요.

치트 시트

두 집합 A와 B의 차집합(A - B)은 A에는 속하지만 B에는 속하지 않는 원소들을 포함하는 새로운 집합을 생성합니다. 이 연산은 교환 법칙이 성립하지 않습니다 (A - B ≠ B - A).

집합 간의 차집합을 구하려면, 배열을 집합으로 변환하고 집합 연산을 사용하여 첫 번째 집합에는 있지만 두 번째 집합에는 없는 원소를 찾습니다. 예를 들어:

const setA = new Set([1, 2, 3, 4, 5]);
const setB = new Set([3, 4, 5, 6, 7]);

// A - B: A에는 있지만 B에는 없는 원소들
const differenceAB = new Set([...setA].filter(x => !setB.has(x)));
console.log('A - B:', differenceAB); // Set { 1, 2 }

// B - A: B에는 있지만 A에는 없는 원소들
const differenceBA = new Set([...setB].filter(x => !setA.has(x)));
console.log('B - A:', differenceBA); // Set { 6, 7 }

직접 해보기

function setDifference(arr1, arr2) {
    const set1 = new Set(arr1)
    const set2 = new Set(arr2)
    const differenceSet = new Set();
    // 여기에 코드를 작성하세요
    
    
    return Array.from(differenceSet);
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리 & 흐름의 모든 레슨