• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

왜 런타임 에러가 나는지 모르겠습니다.

21.11.28 00:38 작성 조회수 164

0

아무리봐도 선생님께서 짜신 코드하고 다른게 없는거 같은데 왜
런타임 에러가 나는지 모르겠습니다. 가르쳐주세요!
죄송합니다 다시 고쳐서 올립니다!
 
import java.util.HashMap;
import java.util.Scanner;
 
public class Main { public int solution(String str, String str2) {
HashMap<Character, Integer> temp = new HashMap<>();
HashMap<Character, Integer> temp2 = new HashMap<>();
int answer = 0, lt = 0;
int n = str2.length();
for(char x : str2.toCharArray()) temp.put(x, 1);
for(int i = 0; i < n-1; i++) {
temp2.put(str.charAt(i), 1);
}
for(int i = n-1; i < str.length(); i++) {
temp2.put(str.charAt(i), temp2.getOrDefault(str.charAt(i), 0) + 1);
if(temp.equals(temp2)) answer++; temp2.put(str.charAt(lt), temp2.get(str.charAt(lt)) - 1);
if(temp2.get(str.charAt(lt)) == 0) temp2.remove(str.charAt(lt)); lt++;
}
 
return answer;
}
 
public static void main(String[] args) {
// TODO Auto-generated method stub
Main T = new Main();
Scanner sc = new Scanner(System.in);
String str = sc.next();
String str2 = sc.next();
System.out.print(T.solution(str, str2));
}
}

답변 1

답변을 작성해보세요.

0

안녕하세요^^

코드를 제가 볼 수 있도록 올려주세요.