8.21
์ฝํ
์
๋ฌธ ๋ฌธ์ - ๋ฐฐ์ด์ ์ ์ฌ๋
์๋ฏ ๋ง๋ฏํ๋ค๊ฐ.. ์์งํ ๋ฐ๋ก filter ๋ฉ์๋๋ฅผ ์จ์ผ๊ฒ ๋ค๊ณ ๋ ์ฌ๋ ธ๋ ๊ฑด ์๋์ง๋ง ๐
์ฌํผ ๋๋จธ์ง๋ ์ค์ค๋ก ์จ์ ํด๊ฒฐ!
(์ผ๋จ ๋ฐฐ์ด ์์์ ์กฐ๊ฑด์ ๋ฌ์์ผ ํ๋ค๋ฉด filter์ ์๊ฐํ์)
โ ๋ฌธ์
๋ ๋ฐฐ์ด์ด ์ผ๋ง๋ ์ ์ฌํ์ง ํ์ธํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๋ฌธ์์ด ๋ฐฐ์ด s1๊ณผ s2๊ฐ ์ฃผ์ด์ง ๋ ๊ฐ์ ์์์ ๊ฐ์๋ฅผ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ช ๋ด ์ฝ๋
function solution(s1, s2) {
return s1.filter(x => s2.includes(x)).length;
}
๋ฐฐ์ด ๋ฉ์๋ filter, includes, length ๋ฅผ ์ฌ์ฉํ๋ค.
s1 ๋ฐฐ์ด์ ์์ ์ค, s2 ๋ฐฐ์ด์๋ ํฌํจ๋ (includes) ์์์ด๋ฉด ๊ณจ๋ผ๋ด์ (filter) , ๊ทธ ๋ฐฐ์ด์ ์์ ๊ฐ์ (length) ๋ฅผ ๋ฆฌํด!
๋ค๋ฅธ ํ์ด๋ฅผ ๋ณด๋ ์ด ํ์ด๊ฐ ๊ฐ์ฅ ๋์ค์ (?) ์ด์๋ค.
(filter ๊น์ง ์ ์ฉํ ๋ฐฐ์ด์ intersection ์ด๋ผ๋ ๋ณ์๋ช
์ ๋๋ ๋ถ์ธ๋ค๋ ์ง ์ฐจ์ด๋ ์์ง๋ง)
๐งธ ๋ค๋ฅธ ํ์ด
1)
function solution(s1, s2) {
let count = 0;
for (let v of s1) if (s2.includes(v)) count++;
return count;
}
2)
function solution(s1, s2) {
const concat = [...s1, ...s2];
const setConcat = Array.from(new Set(concat));
return concat.length - setConcat.length;
}