ํฐ์คํ ๋ฆฌ ๋ทฐ
[ํฌํฌ์ธํฐ ์๊ณ ๋ฆฌ์ฆ]๊ณตํต์์ ๊ตฌํ๊ธฐ
choi95 2021. 7. 2. 11:56๋ฌธ์
A, B ๋ ๊ฐ์ ์งํฉ์ด ์ฃผ์ด์ง๋ฉด ๋ ์งํฉ์ ๊ณตํต ์์๋ฅผ ์ถ์ถํ์ฌ ์ค๋ฆ์ฐจ์์ผ๋ก ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
๋ฌธ์ ํ์ด
๋ ๋ฐฐ์ด์ ํฉ์ณ ์ด๊ธฐํ ํ ์์ ๋ณ์๋ฅผ ์ํํ๋ฉด์ Array.indexOf() ๋ฉ์๋์ ์ธ๋ฑ์ค i๋ฅผ ์ฌ์ฉํ์ฌ ํด๋น ์์์ ์ธ๋ฑ์ค ๊ฐ์๋น๊ตํ๋ค.
Array.indexOf() ๋ฉ์๋๋ ์ค๋ณต๋๋ ์์๊ฐ ์ฌ๋ฌ ๊ฐ ์๋ค๋ฉด ์ฒซ ๋ฒ์งธ๋ก ๊ฒ์๋ ์์์ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํ๊ธฐ ๋๋ฌธ์ ์ค๋ณต ๋ ๊ฐ์์๋ณํ ์ ์๋ค.
์ฝ๋
function solution(arr1, arr2) {
let answer = [];
let tmp = [...arr1, ...arr2];
tmp.forEach((item, i) => {
if(tmp.indexOf(item) !== i) {
answer.push(item);
}
})
console.log(tmp)
answer.sort((a, b) => a - b);
return answer;
}
let arr1 = [1, 3, 9, 5, 2];
let arr2 = [3, 2, 5, 7, 8]
console.log(solution(arr1, arr2));
๋ฌธ์ ํ์ด2
์ฌ์ ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ ๋ ๊ฐ ๋ฐฐ์ด์ ๋ฐ๋ณต๋ฌธ ๋ด์์ ์์์ ํฌ์ธํฐ ๋ณ์๋ฅผ ํตํด ์ค๋ณต๋ ๊ฐ์ ์๋ณํ๋ค.
์ด๋ ๋ฐฐ์ด์ ์์๋ค์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋์ด ์๊ธฐ ๋๋ฌธ์ ํฌ์ธํฐ ๋ณ์๋ก ๊ฐ๋ฆฌํจ ๊ฐ ์ค ์์ ๊ฐ์ ํด๋นํ๋ ๋ฐฐ์ด์ํฌ์ธํฐ ๋ณ์๋ฅผ ๋ค์ ์ธ๋ฑ์ค๋ฅผ ๊ฐ๋ฆฌํค๊ฒ ํด์ค๋ค.
์ค๋ฆ์ฐจ์ ํน์ฑ ์ ํฐ ๊ฐ์ ํด๋นํ๋ ๋ฐฐ์ด์ ํฌ์ธํฐ ๋ณ์๋ฅผ ์ด๋ํ๊ฒ ๋ ๊ฒฝ์ฐ ์ด ๊ฐ๋ณด๋ค ์์ ๊ฐ(๊ณตํต์์์ผ ์ ์๋ ๊ฐ)์ ์ดํ ์ธ๋ฑ์ค ์์ ๋ด์์ ์ฐพ์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ฝ๋
function solution(arr1, arr2) {
let answer = [];
arr1.sort();
arr2.sort();
let p1 = 0;
let p2 = 0;
while(p1 < arr1.length && p2 < arr2.length){
if(arr1[p1] === arr2[p2]) {
answer.push(arr1[p1++]);
p2++
}
else if(arr1[p1] < arr2[p2]) p1++
else p2++
}
return answer;
}
let arr1 = [1, 3, 9, 5, 2];
let arr2 = [3, 2, 5, 7, 8];
console.log(solution(arr1, arr2));
'์๊ณ ๋ฆฌ์ฆ > ํ๊ทธ ๋ณ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํฌํฌ์ธํฐ ์๊ณ ๋ฆฌ์ฆ] ์ฐ์ ๋ถ๋ถ ์์ด(2) (0) | 2021.07.05 |
---|---|
[ํฌํฌ์ธํฐ ์๊ณ ๋ฆฌ์ฆ]์ฐ์ ๋ถ๋ถ ์์ด(1) (0) | 2021.07.03 |
[ํฌํฌ์ธํฐ ์๊ณ ๋ฆฌ์ฆ]๋ ๋ฐฐ์ด ํฉ์น๊ธฐ (0) | 2021.07.02 |
[์์ ํ์]k๋ฒ์งธ ํฐ ์ (0) | 2021.07.01 |
[์์ ํ์]์กธ์ ์ ๋ฌผ (0) | 2021.06.04 |