Algorithm/문제
32. Anagram(해쉬)
챛채
2023. 9. 4. 16:25
첫 번째 문자열을 Hashmap에 카운팅을 완료해두고 두 번째 문자열을 탐색하면서 키가 있으면 키를 하나 감소시킨다.
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
public static 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()){
// s2.toCharArray()했을 때, key값이 map에 없거나,
// key값이 있는데 value가 0일수가 없으니까
if(!map.containsKey(x) || map.get(x)==0){
return "NO";
}else{
map.put(x, map.get(x)-1);
}
}
return answer;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String input1 = in.next();
String input2 = in.next();
System.out.println(Solution(input1, input2));
}
}