인프런 커뮤니티 질문&답변
투포인터를 사용하지는 않았는데...
작성
·
284
1
function solution(arr1, arr2) {
let answer = [];
let temp_obj = {};
const sum_arr = [...arr1, ...arr2];
for (let i = 0; i < sum_arr.length; i++) {
temp_obj[sum_arr[i]] = temp_obj[sum_arr[i]] + 1 || 1;
}
for (let key in temp_obj) {
if (temp_obj[key] === 2) {
answer.push(Number(key));
}
}
return answer;
}
let a = [1, 3, 9, 5, 2];
let b = [3, 2, 5, 7, 8];
console.log(solution(a, b));
위 처럼 풀었는데 전개연산자를 사용할경우
시간복잡도가 안나와있어서 위와같이 풀면 시간복잡도가 어떻게 되는지 궁금합니다.
퀴즈
투 포인터 또는 슬라이딩 윈도우 기법이 중첩 반복문보다 효율적인 주된 이유는 무엇일까요?
더 적은 메모리를 사용해서일까요?
코드가 더 짧아져서일까요?
대부분의 경우 O(N) 시간 복잡도를 달성해서일까요?
입력 데이터 크기에 영향을 받지 않아서일까요?






감사합니다