#include <iostream>
#include <string>
using namespace std;
string target;
int n;
string ring[101];
void INPUT()
{
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
cin >> target >> n;
for(int i = 0; i < n; i++)
{
cin >> ring[i];
// 문자열의 시작과 끝이 이어져있으므로,똑같은 문자열을 뒤에 붙여준다.
ring[i] += ring[i];
}
}
void SOLVE()
{
int ans = 0;
for(int i = 0; i < n; i++)
{// 모든 반지를 순회하며
for(int j = 0; j < 10; j++)
{// 각 반지의 각 글자마다, 찾고자하는 문자열의 길이만큼 잘라 비교한다.
if(ring[i].substr(j,target.length())
== target)
{// 같으면 ans를 1 증가시킨다.
ans++;
break;
}
else continue;
}
}
cout << ans;
}
int main()
{
INPUT();
SOLVE();
}
GOLD5 미만 난이도는 알고리즘 및 풀이 설명을 주석으로 대체합니다.
주석을 참고해주세요.