๐ก anagram์ด๋ ๋ฌด์์ผ๊น?
๋ ๊ฐ์ ๋จ์ด๊ฐ ์๋ก ๋๊ฐ์ ๋ฌธ์๋ฅผ ๊ฐ์ง๊ณ ์์ ๋ ์๋ก์ anagram์ด๋ผ ์ผ์ปซ๋๋ค.
word์ ๋ฌธ์์ ๋๊ฐ์ ๋ฌธ์๋ก ๊ตฌ์ฑ๋ words์ ์์๋ฅผ ์ฐพ์๋ผ. ์ด๋ ๋ฌธ์์ ์ข ๋ฅ๋ ๋๊ฐ์์ผ ํ์ง๋ง ์์๋ ๋ฌ๋ผ๋ ๋๋ค.
anagrams('abba', ['aabb', 'abcd', 'bbaa', 'dada']) => ['aabb', 'bbaa']
anagrams('racer', ['crazer', 'carer', 'racar', 'caers', 'racer']) => ['carer', 'racer']
anagrams('laser', ['lazing', 'lazy', 'lacer']) => []
๋งจ ์ฒ์์ sortedWord์ sortedWords๋ฅผ ๋ง๋ค ๋ join์ ์ด์ฉํ์ง ์๊ณ ๊ฐ๊ฐ์ ๋ฐฐ์ด์ ๋น๊ตํ๋ค. ๊ทธ๋ฌ๋๋ ๋ฌธ์ ๊ตฌ์ฑ์ด ๊ฐ๋๋ผ๋ ๋ ๋ฐฐ์ด์ ๋ค๋ฅด๋ค๋ ๊ฒฐ๊ณผ๊ฐ์ด ๋์๋ค. ๊ทธ ์ด์ ๋ ๋ ๋ฐฐ์ด์ด ๋๊ฐ์ด ์๊ฒผ๋๋ผ๋ ๋ค๋ฅธ ์ฃผ์๋ฅผ ์ฐธ์กฐํ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋์ join์ ์ฌ์ฉํ์ฌ ํ์ ์ ๋ฐ๊ฟ๋ฒ๋ ธ๋๋ ๋น๊ต๊ฐ ํ์ธต ์์ํ๋ค.
๋ค์ ํ ๋ฒ ๊ธฐ์ตํ์. ๋ ๋ฐฐ์ด์ ์๋ก ๋น๊ตํ ๋๋ ๋ง์ ๊ณ ๋ ค์ฌํญ์ด ๋ฐ๋ฅธ๋ค. ์ ๊ทน์ ์ผ๋ก ํ์ ์ ๋ฐ๊พธ๋ ค๋ ๋ ธ๋ ฅ์ ํ์.
function anagrams(word, words) {
let result = [];
const sortedWord = word.split("").sort().join("");
for (let i = 0; i < words.length; i++) {
let sortedWords = words[i].split("").sort().join("");
if (sortedWord === sortedWords) {
result.push(words[i]);
}
}
return result;
}