-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
왜틀린지 아무리 봐도 모르겠습니다 ㅠ
21.07.22 23:31 작성 조회수 113
0
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s = in.next();
String t = in.next(); //t.length <= s.length
HashMap<Character,Integer> tHash = new HashMap<>();
for(int i=0;i<t.length();i++){
tHash.put(t.charAt(i),tHash.getOrDefault(t.charAt(i),0)+1);
}
int lt=0, cnt=0,answer=0;
HashMap<Character,Integer> sHash = new HashMap<>();
for(int rt =0;rt<s.length();rt++){
sHash.put(s.charAt(rt),sHash.getOrDefault(s.charAt(rt),0)+1);
cnt++;
if(cnt == tHash.size()){
if(sHash.equals(tHash)) answer++;
sHash.put(s.charAt(lt),sHash.get(s.charAt(lt))-1);
if(sHash.get(s.charAt(lt))==0){
sHash.remove(s.charAt(lt));
}
lt++;
cnt--;
}
}
System.out.print(answer);
}
이전 문제에서도 for문을 미리 L까지 돌려주지 않고 한번에 돌리는식으로 하여서 정답을 얻었습니다. 이번 문제도 이전 문제와 유사해서 비슷한 방식으로 해주었는데 왜 자꾸 오답이라고 하는지 모르겠습니다 ㅠㅠ답변을 작성해보세요.
0
김태원
지식공유자2021.07.24
안녕하세요^^
아래 입력이 나오지 않습니다. 7번인덱스부터 아나그램이 되고, 8번부터, 9번부터 총 3개의 아나그램이 나와야 합니다.
AGSDEGEWetabtqtqEFqGHIJKLtabeWPQRSTUVWetabdgXYabteWcdefghijklmnopqrabtWestu
WetabtqtqEFqGHIJKLtabeWPQRSTUVWetabdgXYabteWcdefghijklmnopqrabt
답변 1