작성
·
525
0
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
HashMap<Character,Integer> map1 = new HashMap<>();
String str1 = sc.next();
String str2 = sc.next();
String answer = "YES";
for (char i : str1.toCharArray()){
map1.put(i,map1.getOrDefault(i,0)+1);
}
for (char i : str2.toCharArray()){
if (!map1.containsKey(i)|| map1.get(i)==0) {
answer="NO";
}
map1.put(i,map1.get(i)-1);
}
System.out.println(answer);
}
}
답변 1
0
안녕하세요^^
if (!map1.containsKey(i)|| map1.get(i)==0) {
answer="NO";
}
참이되면 answer에 "NO"를 넣고 break를 하셔야 합니다.
밑에서 map1.put(i,map1.get(i)-1);
하면 안됩니다. 즉 키가 없는데 그 키값을 뺀다는 것은 오류입니다.