A Developing Developer
DAY 33. 주특기(Node.js) Node.js 심화주차 복습 본문
- 오늘 한거
알고리즘 14일차, Node.js 심화주차 복습
- 문제발생
배열의 차집합
- 시도
- 해결방안
function solution(numbers) {
let answer = 0;
let base_numbers = [0,1,2,3,4,5,6,7,8,9];
let non_numbers = []
// 차집합
non_numbers = base_numbers.filter(x => !numbers.includes(x));
answer = non_numbers.reduce((a,b) => (a+b));
return answer;
}
console.log(solution([5,8,4,0,6,7,9]))
arr1 = [0,1,2,3,4,5,6,7,8,9]
arr2 = [5,8,4,0,6,7,9]
arr1.filter(x => !arr2.includes(x))
: arr1 - arr2
>> [1,2,3]
- 알게 된 것
let arr1 = [1, 2, 3];
let arr2 = [2, 3, 4, 5];
- 차집합 (arr1 에서 arr2 와 겹치는 부분을 뺀 것)
let difference = arr1.filter(x => !arr2.includes(x)); // 결과 1
- 교집합 (arr1 과 arr2 의 겹치는 부분)
let difference = arr1.filter(x => arr2.includes(x)); // 결과 2, 3
- 배타적논리합 (arr1 과 arr2 의 교집합을 뺀 전체)
let difference = arr1
.filter(x => !arr2.includes(x))
.concat(arr2.filter(x => !arr1.includes(x))); // 결과 1, 4, 5
[결론]
'내일배움캠프 4기 > TIL' 카테고리의 다른 글
DAY 35. 노드 심화 프로젝트 (0) | 2023.01.02 |
---|---|
DAY 34. 노드 심화 프로젝트 (2) | 2023.01.01 |
DAY 32. 주특기(Node.js) Node.js 심화주차 복습 (0) | 2022.12.28 |
DAY 31. 주특기(Node.js) Node.js 심화주차 2-7 ~ 5-12 (0) | 2022.12.27 |
DAY 30. 주특기(Node.js) Node.js 심화주차 1-1 ~ 2-6 (0) | 2022.12.26 |