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를 리턴하고

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

반응형