매일 조금씩

Leet code (Easy): 242. Valid Anagram - Java 본문

알고리즘/String

Leet code (Easy): 242. Valid Anagram - Java

mezo 2024. 10. 26. 21:26
728x90
반응형

 

 

anagram 이란, 다른 단어가 기존 단어의 알파벳들로만 이루어진 것을 뜻하는 말이다.

 

난 HashMap을 사용해서 풀었지만, 간단히 Arrays.equals()로도  풀수 있었다.

 

class Solution {
    public boolean isAnagram(String s, String t) {
        Map<Character, Integer> origin = new HashMap<>();
        
        if(s.length() != t.length()) return false;

        for(char sc: s.toCharArray()){
            origin.put(sc, origin.getOrDefault(sc, 0) + 1);
        }

        for(char tc: t.toCharArray()){
            int val = origin.getOrDefault(tc, 0);
            if(val == 0){
                return false;
            }else{
                origin.put(tc, origin.get(tc) - 1);
            }
        }

        return true;
    }
}
class Solution {
    public boolean isAnagram(String s, String t) {
        char[] arrayS = s.toCharArray();
        char[] arrayT = t.toCharArray();

        Arrays.sort(arrayS);
        Arrays.sort(arrayT);

        return Arrays.equals(arrayS, arrayT);
    }
}
728x90
반응형