Closed ffinn92 closed 2 years ago
🏋️♀️ 시도횟수 : 1회 | ⏱ 걸린시간 : 129ms | 💾 메모리 : 26MB
시도횟수
걸린시간
메모리
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { public int solution(String s, String t) { int count = 0; int p1 = 0; HashMap<Character, Integer> sString = new HashMap<>(); HashMap<Character, Integer> tString = new HashMap<>(); for (int i = 0; i < t.length(); i++) { tString.put(t.charAt(i), tString.getOrDefault(t.charAt(i), 0) + 1); } for (int i = 0; i < t.length() - 1; i++) { sString.put(s.charAt(i), sString.getOrDefault(s.charAt(i), 0) + 1); } for (int p2 = t.length() - 1; p2 < s.length(); p2++) { sString.put(s.charAt(p2), sString.getOrDefault(s.charAt(p2), 0) + 1); if (tString.equals(sString)) { count++; } sString.put(s.charAt(p1), sString.get(s.charAt(p1)) - 1); if (sString.get(s.charAt(p1)) == 0) { sString.remove(s.charAt(p1)); } p1++; } return count; } public static void main(String[] args) throws IOException { Main T = new Main(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s = br.readLine(); String t = br.readLine(); int result = T.solution(s, t); System.out.println(result); } }
📌 문제
⭐️ 아이디어
🤔 고민한 내용
💪 새롭게 배운 내용
🆘 이해가 어려운 내용
❌ 해결하지 못한 이유
✅ 본인 풀이
🏋️♀️
시도횟수
: 1회 | ⏱걸린시간
: 129ms | 💾메모리
: 26MB참고한 자료