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));
}
}
'Algorithm > inflearn' 카테고리의 다른 글
★모든 아나그램 찾기(Hash, sliding Window : 시간복잡도 O(n)) (0) | 2021.09.16 |
---|---|
★매출액의 종류(Hash, sliding Window) (0) | 2021.09.15 |
#학급 회장(Hash) (0) | 2021.09.15 |
★최대 길이 연속부분수열 (0) | 2021.09.15 |
연속된 자연수의 합(two pointers) (0) | 2021.09.14 |