문제
S문자열에서 T문자열과 아나그램이 되는 S의 부분문자열의 개수를 출력
풀이 과정
const solutionA = (word1, word2) => {
let answer = 0;
const [word1Len, word2Len] = [word1.length, word2.length];
const word2Map = new Map();
for (const word of word2) {
if (word2Map.has(word)) word2Map.set(word, word2Map.get(word) + 1);
else word2Map.set(word, 1);
}
for (let i = 0; i < word1Len - word2Len + 1; i++) {
const copyMap = new Map(word2Map);
let index = i;
while (index < i + word2Len) {
const element = word1[index];
if (copyMap.has(element)) copyMap.set(element, copyMap.get(element) - 1);
else break;
if (copyMap.get(element) === 0) copyMap.delete(element);
index++;
}
if (copyMap.size === 0) answer++;
}
return answer;
};
const testA = solutionA('bacaAacba', 'abc');
console.log(testA);
틀린 부분이 있거나 보충해야 할 내용이 있다면 댓글이나 DM(sungstonemin)으로 알려주시면 감사하겠습니다😄