문제 두 문자열에서 아나그램이 되는 부분 문자열의 개수를 구하는 프로그램을 작성하시오. 대소문자는 구분됩니다. 입력 예제 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){ ..
문제 N개의 투표 용지에 A, B, C, D, E 각 후보의 기호가 적혀져 있습니다. 투표 용지에 쓰여진 기호가 발표된 순서대로 입력하면, 누가 학급 회장이 되었는지 출력하는 프로그램을 작성하시오. 입력 예제 10 ABBACCACED 출력 예제 A 풀이 function solution(n, s) { let answer; let hash = new Map(); for (let x of s) { // 해당 문자열이 해시에 존재하면, // 기존 값을 get으로 가져와서 1 증가 if (hash.has(x)) hash.set(x, hash.get(x)+1); // 해당 문자열이 해시에 존재하지 않으면, key와 value 생성 else hash.set(x, 1); } let max = Number.MIN_SAF..