강의

멘토링

로드맵

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

australialove19님의 프로필 이미지
australialove19

작성한 질문수

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

7. 아나그램(Hash Map)

이런 방식은 어떨까요?

작성

·

181

0

function solution(str1, str2) {
    let answer = "Yes";
    let shA = new Map();
    let shB = new Map();
    for(let x of str1) {
        if(shA.has(x)) shA.set(x, shA.get(x) + 1);
        else shA.set(x, 1);
    }
    for(let x of str2) {
        if(shB.has(x)) shB.set(x, shB.get(x) + 1);
        else shB.set(x, 1);
    }
    for(let i = 0; i < str1.length; i++) {
        if(shA.get(str1[i]) !== shB.get(str1[i])) answer = "NO";
    }

    console.log(shA.get('A'))
    return answer;
}

let a="abaCC";
let b="Caaab";
console.log(solution(a, b));

퀴즈

45%나 틀려요. 한번 도전해보세요!

투 포인터 또는 슬라이딩 윈도우 기법이 중첩 반복문보다 효율적인 주된 이유는 무엇일까요?

더 적은 메모리를 사용해서일까요?

코드가 더 짧아져서일까요?

대부분의 경우 O(N) 시간 복잡도를 달성해서일까요?

입력 데이터 크기에 영향을 받지 않아서일까요?

답변 1

1

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

안녕하세요^^

길이가 같은 단어만 들어오니 위에 코드처럼 짜도 상관없습니다.

australialove19님의 프로필 이미지
australialove19

작성한 질문수

질문하기