반응형
W의 문자 개수를 카운팅해둔 뒤,
S에서 W의 길이만큼 자른 부분 문자열의 문자 개수와 일치하는지 확인해주었습니다.
#include <iostream>
using namespace std;
int g, s, ans = 0;
int wcnt['z' + 1] = { 0 };
int scnt['z' + 1] = { 0 };
string W, S;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
cin >> g >> s >> W >> S;
for (int i = 0; i < g; i++) {
wcnt[W[i]]++;
scnt[S[i]]++;
}
for (int i = g; ; i++) {
bool same = true;
for (int j = 'A'; j <= 'z'; j++) {
if (scnt[j] != wcnt[j]) same = false;
}
ans += same;
if (i == s) break;
scnt[S[i - g]]--;
scnt[S[i]]++;
}
cout << ans;
}
반응형
'Algorithm' 카테고리의 다른 글
백준 11281 : 2-SAT - 4 (0) | 2021.11.19 |
---|---|
백준 11280 : 2-SAT - 3 (0) | 2021.11.19 |
백준 4013 : ATM (0) | 2021.11.19 |
백준 3977 : 축구 전술 (0) | 2021.11.19 |
백준 4196 : 도미노 (0) | 2021.11.19 |