package main4;
import java.util.Map;
import java.util.Scanner;
import java.util.HashMap;
import java.util.Arrays;
public class Main4 {
public String solution(String a1b,String a2b){
HashMap<Character, Integer> map1 = new HashMap<Character, Integer>();
HashMap<Character, Integer> map2 = new HashMap<Character, Integer>();
for( char x : a1b.toCharArray()) {
map1.put(x,map1.getOrDefault(x, 0) + 1);
}
// A : 2 -> 이런식으로 map 에 갯수를 저장
for( char x : a2b.toCharArray()) {
map2.put(x,map2.getOrDefault(x, 0) + 1);
}
// A : 2 -> 이런식으로 map 에 갯수를 저장
for(char x : map1.keySet()){
for(char y : map2.keySet()) {
// 키 x 와 y 값을 비교 해서 같으면
if(x == y) {
// x 와 y 값을 비교 해서 같으면 -> value 값도 검사해서
//같다면 yes 다르면 no를 리턴합니다
if(map1.get(x) == map2.get(y)) {
return "YES";
}else
return "NO";
}
}
}
return "NO";
};
public static void main(String[] args) {
Main4 main2 = new Main4();
Scanner kb = new Scanner (System.in);
String a1b = kb.next();
String a2b = kb.next();
System.out.println(main2.solution(a1b,a2b));
}
}
선생님 풀이
package main4;
import java.util.Map;
import java.util.Scanner;
import java.util.HashMap;
import java.util.Arrays;
public class Main4 {
public String solution(String a1b,String a2b){
HashMap<Character, Integer> map1 = new HashMap<Character, Integer>();
for( char x : a1b.toCharArray()) {
map1.put(x,map1.getOrDefault(x, 0) + 1);
}
// A : 2
for( char x : a2b.toCharArray()) {
if(!map1.containsKey(x) || map1.get(x) == 0 ) {
return "NO";
}
map1.put(x, map1.get(x) - 1);
}
// A : 2
return "NO";
};
public static void main(String[] args) {
Main4 main2 = new Main4();
Scanner kb = new Scanner (System.in);
String a1b = kb.next();
String a2b = kb.next();
System.out.println(main2.solution(a1b,a2b));
}
}