강의

멘토링

로드맵

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

sohi0321님의 프로필 이미지
sohi0321

작성한 질문수

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

7. 아나그램(Hash Map)

이런 방식으로 문제를 푸는 건 어떻게 생각하시나요?

작성

·

346

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

function solution(alphaStr1, alphaStr2) {
    let answer = "YES";
    let alphaMap = new Map();
    
    for(let i of alphaStr1) {
        if(alphaMap.has(i)) alphaMap.set(i, alphaMap.get(i) + 1);
        else alphaMap.set(i, 1);
    }

    for(let i of alphaStr2) {
        if(alphaMap.has(i)) alphaMap.set(i, alphaMap.get(i) - 1);
        else return "NO";
    }

    for(let [key, val] of alphaMap) {
        if(val != 0) answer = "NO";
    }

    return answer;
}

let alphaStr1 = "AbaAeCe";
let alphaStr2 = "baeeACA";
console.log(solution(alphaStr1, alphaStr2));

퀴즈

Lý do chính khiến kỹ thuật Two Pointers hoặc Sliding Window hiệu quả hơn vòng lặp lồng nhau là gì?

Dùng ít bộ nhớ hơn chăng?

Code ngắn hơn nên thế chăng?

Có phải là do đạt được độ phức tạp thời gian O(N) trong hầu hết các trường hợp?

Phải chăng vì không bị ảnh hưởng bởi kích thước dữ liệu đầu vào?

답변 1

0

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

안녕하세요^^

네. 좋은 코드입니다. 잘 하셨습니다.

sohi0321님의 프로필 이미지
sohi0321

작성한 질문수

질문하기