인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

jadenswith님의 프로필 이미지
jadenswith

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

8. 모든 아나그램 찾기(Hash & Sliding Window && Two Pointers Algorithm)

안녕하세요. 코드 리뷰 부탁드립니다!

작성

·

186

0

강의 듣기에 앞서 지난 시간

선생님께 배운 슬라이딩 윈도우로 풀어봤습니다. 

어떠한지 리뷰 부탁드리겠습니다 :)

 

            function compareMaps(map1, map2){
                for(let [key, val] of map1){
                    if(map1.get(key)!==map2.get(key)) return 0;
                }
                return 1;
            }
            function solution(s, t){
                let answer = 0;
                let sL = s.length, tL = t.length;
                let tH  = new Map(), sH = new Map();
               
                for(let x of b){
                    if(tH.has(x)) tH.set(x, tH.get(x)+1);
                    else tH.set(x, 1);
                }
                for(let i=0;i<tL;i++){
                    let x = s[i];
                    if(sH.has(x)) sH.set(x, sH.get(x)+1);
                    else sH.set(x, 1);
                }
                answer += compareMaps(tH, sH);

                for(let i=tL;i<sL;i++){
                    let x = s[i], y = s[i-tL];
                    if(sH.has(x)) sH.set(x, sH.get(x)+1);
                    else sH.set(x, 1);
                    sH.set(y, sH.get(y)-1);
                    answer += compareMaps(tH, sH);
                }

                return answer;
          }

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

잘 하신 코드입니다.

jadenswith님의 프로필 이미지
jadenswith

작성한 질문수

질문하기