package HashMap그리고TreeSet4장.모든아나그램찾기4다시4.my;
import java.util.HashMap;
import java.util.Scanner;
public class Main {
/**
* 피드백 할 것 없음 이전 문제와 완벽히 동일
*/
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
String input1 = kb.next();
String input2 = kb.next();
System.out.println(solution(input1, input2));
}
private static int solution(String input1, String input2) {
int answer = 0;
int start= 0, end = input2.length();
HashMap<Character, Integer> map1 = new HashMap<>();
HashMap<Character, Integer> map2 = new HashMap<>();
char[] input1Array = input1.toCharArray();
char[] input2Array = input2.toCharArray();
for (int i = 0; i < input2.length(); i++) {
map1.put(input1Array[i], map1.getOrDefault(input1Array[i], 0) + 1);
}
for (char c : input2Array) {
map2.put(c, map2.getOrDefault(c, 0) + 1);
}
if (map1.equals(map2)) {
answer++;
}
while (end < input1.length()) {
map1.put(input1Array[end], map1.getOrDefault(input1Array[end], 0) + 1);
end++;
map1.put(input1Array[start], map1.get(input1Array[start]) - 1);
if (map1.get(input1Array[start]) == 0) {
map1.remove(input1Array[start]);
}
start++;
if (map1.equals(map2)) {
answer++;
}
}
return answer;
}
}