๐ท๐ผ๋ชจ์ฌ๋ด์ ๊ฐ๋ฐ์์ฒ๐ท๐ผ
[JAVA/์ฝ๋ฉํ ์คํธ] ๋ชจ๋ ์๋๊ทธ๋จ ์ฐพ๊ธฐ ๋ณธ๋ฌธ
๊ฐ๋ฐ/์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด JAVA
[JAVA/์ฝ๋ฉํ ์คํธ] ๋ชจ๋ ์๋๊ทธ๋จ ์ฐพ๊ธฐ
์์ผ์ด 2021. 5. 20. 23:15๋ฐ์ํ
์ค๋ช
S๋ฌธ์์ด์์ T๋ฌธ์์ด๊ณผ ์๋๊ทธ๋จ์ด ๋๋ S์ ๋ถ๋ถ๋ฌธ์์ด์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
์๋๊ทธ๋จ ํ๋ณ์ ๋์๋ฌธ์๊ฐ ๊ตฌ๋ถ๋ฉ๋๋ค. ๋ถ๋ถ๋ฌธ์์ด์ ์ฐ์๋ ๋ฌธ์์ด์ด์ด์ผ ํฉ๋๋ค.
์ ๋ ฅ
์ฒซ ์ค์ ์ฒซ ๋ฒ์งธ S๋ฌธ์์ด์ด ์ ๋ ฅ๋๊ณ , ๋ ๋ฒ์งธ ์ค์ T๋ฌธ์์ด์ด ์ ๋ ฅ๋ฉ๋๋ค.
S๋ฌธ์์ด์ ๊ธธ์ด๋ 10,000์ ๋์ง ์์ผ๋ฉฐ, T๋ฌธ์์ด์ S๋ฌธ์์ด๋ณด๋ค ๊ธธ์ด๊ฐ ์๊ฑฐ๋ ๊ฐ์ต๋๋ค.
์ถ๋ ฅ
S๋จ์ด์ T๋ฌธ์์ด๊ณผ ์๋๊ทธ๋จ์ด ๋๋ ๋ถ๋ถ๋ฌธ์์ด์ ๊ฐ์๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
์์ ์ ๋ ฅ | ์์ ์ถ๋ ฅ |
bacaAacba abc |
3 |
import java.util.*;
import java.io.*;
public class Main {
public void solution(String S, String T) {
HashMap<Character, Integer> count = new HashMap<>();
HashMap<Character, Integer> countTmp = new HashMap<>();
int result = 0;
int lt = 0;
int L = T.length()-1;
for(char x : T.toCharArray()) {
countTmp.put(x, countTmp.getOrDefault(x,0)+1);
}
for(int i=0; i<L; i++) {
count.put(S.charAt(i), count.getOrDefault(S.charAt(i),0)+1);
}
for(int rt=L; rt<S.length(); rt++) {
count.put(S.charAt(rt), count.getOrDefault(S.charAt(rt),0)+1);
if(count.equals(countTmp)) {
result ++;
}
count.put(S.charAt(lt), count.get(S.charAt(lt))-1);
if(count.get(S.charAt(lt)) == 0) {
count.remove(S.charAt(lt));
}
lt++;
}
System.out.println(result);
}
public static void main(String args[]) {
Main main = new Main();
Scanner in= new Scanner(System.in);
String S = in.nextLine();
String T = in.nextLine();
main.solution(S, T);
}
}
'๊ฐ๋ฐ > ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA/์ฝ๋ฉํ ์คํธ] ๊ดํธ๋ฌธ์์ ๊ฑฐ (0) | 2021.05.26 |
---|---|
[JAVA/์ฝ๋ฉํ ์คํธ] ์ฌ๋ฐ๋ฅธ ๊ดํธ (0) | 2021.05.26 |
[JAVA/์ฝ๋ฉํ ์คํธ] ๋งค์ถ์ก์ ์ข ๋ฅ (0) | 2021.05.20 |
[JAVA/์ฝ๋ฉํ ์คํธ] ์๋๊ทธ๋จ(ํด์ฌ) (0) | 2021.05.17 |
[JAVA/์ฝ๋ฉํ ์คํธ] ํ๊ธ ํ์ฅ(ํด์ฌ) (0) | 2021.05.17 |
Comments