Valid Anagram (easy)

JUNE 06, 2023

문제

  • s와 t가 주어졌을때, 아나그램일 경우 true, 아니면 false 반환

002

  • 주어진 코드
public class Test {

    public static void main(String[] args) {
        System.out.println(isAnagram("anagram", "nagaram")); // true
        System.out.println(isAnagram("rat", "car")); // false
    }

    public static boolean isAnagram(String s, String t) {
       //
    }
}

결과 및 풀이

  • 풀이
public static boolean isAnagram(String s, String t) {
    if (s.length() != t.length()) {
        return false;
    }
    
    Map<Character, Integer> anagramBucket = new HashMap<>();
    
    for (char c : s.toCharArray()) {
        int count = anagramBucket.getOrDefault(c, 0) + 1;
        anagramBucket.put(c, count);
    }
    
    for (char c : t.toCharArray()) {
        int count = anagramBucket.getOrDefault(c, 0);
        if (count == 0) {
            return false;
        }
        anagramBucket.put(c, count - 1);
    }
    
    return true;
}

배웠다


작업 기록 블로그