문제 두 문자열에서 아나그램이 되는 부분 문자열의 개수를 구하는 프로그램을 작성하시오. 대소문자는 구분됩니다. 입력 예제 cabbAcabc abc 출력 예제 3 풀이 // 두 해시 비교 function compareMaps(map1, map2){ // size가 다르다면 서로 다른 게 담겼다는 의미 if(map1.size!==map2.size) return false; // size는 같은데 // map2에 해당 키가 없거나 // map2에서 해당 키를 가져왔는데 값이 다른 경우 for(let [key, val] of map1){ if(!map2.has(key) || map2.get(key)!==val) return false; } return true; } function solution(s, t){ ..
💡 아나그램이란, 두 문자열의 나열 순서는 다르지만 구성이 일치한 것을 말한다. 문제 두 문자열이 아나그램인지 판단하는 프로그램을 작성하시오. 대소문자는 구분됩니다. 입력 예제 1 ABcdefc BAcdfce 출력 예제 1 YES 풀이 function solution(a, b) { let answer = "YES"; let hash1 = new Map(); for (let x of a) { // 이미 존재하면 if (hash1.has(x)) hash1.set(x, hash1.get(x) + 1); // 없으면 else hash1.set(x, 1); } // 두 번째 문자열을 순환하면서 hash1에 있으면 -1 // hash1에 해당 값이 없거나 value가 0이면 아나그램 아님 for (let x of ..