Algorithm/inflearn

★아나그램(Hash)

마닐라 2021. 9. 15. 14:29

 

import java.util.HashMap;
import java.util.Scanner;

public class Main {
    public String solution(String s1, String s2) {
        String answer = "YES";

        HashMap<Character, Integer> map = new HashMap<>();

        for(char x : s1.toCharArray()) {
            map.put(x, map.getOrDefault(x, 0)+1);
        }

        for(char x : s2.toCharArray()){
            //키가 없거나 value 값이 이미 0이면 아나그램이 아님
            //마지막 문자돌 때 그 키의 value 값이 0이 아니어야함!!
            if(!map.containsKey(x) || map.get(x) == 0) return "NO";
            map.put(x, map.get(x)-1);
        }

        return answer;
    }

    public static void main(String[] args){
        Main T = new Main();
        Scanner kb = new Scanner(System.in);
        String s1 = kb.nextLine();
        String s2 = kb.nextLine();

        System.out.print(T.solution(s1, s2));

    }
}