[leetcode, JS] 242. Valid Anagram

mxxn·2023년 8월 16일
0

leetcode

목록 보기
27/198

문제

문제 링크 : Valid Anagram

풀이

/**
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var isAnagram = function(s, t) {
    if(s.length !== t.length) return false

    let sMap = new Map();
    let tMap = new Map();
    
    for(let i=0; i<s.length; i++) {
        sMap.has(s[i]) ? sMap.set(s[i], sMap.get(s[i])+1) : sMap.set(s[i], 1)
        tMap.has(t[i]) ? tMap.set(t[i], tMap.get(t[i])+1) : tMap.set(t[i], 1)
    }

    const sArr = [... sMap].sort()
    const tArr = [... tMap].sort()
    return JSON.stringify(sArr) === JSON.stringify(tArr)
};
  1. s와 t의 length가 다른 경우 false
  2. s와 t를 Map으로 만들어 알파벳 갯수 체크
  3. 각 Map을 배열로 만들어 sort하고 JSON.stringfy로 완전히 동일한지 판단
  • Runtime 75 ms, Memory 43.6 MB
profile
내일도 글쓰기

0개의 댓글