ALGORITHM

[JAVA] 알고리즘 : HashMap - 아나그램

연듀 2022. 7. 4. 10:41
import java.util.*;

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()){
            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 sc = new Scanner(System.in);
        String a=sc.next();
        String b=sc.next();
        System.out.println(T.solution(a,b));
    }
}

 

첫번째 입력받은 문자열의 문자, 문자의 개수의 쌍으로 hashMap을 만든다.

두번째 입력받은 문자열을 돌며 map에 포함되어있지 않은 문자가 있거나 문자의 개수가 0이라면 NO를 리턴하고

그렇지 않다면 문자의 개수를 하나씩 감소시키며 확인한다.