문제 링크입니다: https://www.acmicpc.net/problem/5555
간단한 문자열 처리 문제였습니다.
모듈러 연산을 통해 배열을 환형 배열로 만들어주는 것이 핵심이였습니다.
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main(void)
{
ios_base::sync_with_stdio(0);
cin.tie(0);
string s;
cin >> s;
int N;
cin >> N;
vector<string> v(N);
int result = 0;
for (int i = 0; i < N; i++)
{
cin >> v[i];
bool ring = false;
for(int j=0; j<v[i].length(); j++)
if (v[i][j] == s[0])
{
bool flag = true;
for(int k=0; k<s.length(); k++)
if (v[i][(j + k) % v[i].length()] != s[k])
{
flag = false;
break;
}
if (flag)
{
ring = true;
break;
}
}
if (ring)
result++;
}
cout << result << "\n";
return 0;
}
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
'알고리즘 > BOJ' 카테고리의 다른 글
백준 2897번 몬스터 트럭 (0) | 2018.10.30 |
---|---|
백준 2840번 행운의 바퀴 (0) | 2018.10.29 |
백준 2816번 디지털 티비 (0) | 2018.10.28 |
백준 3613번 Java vs C++ (0) | 2018.10.28 |
백준 2810번 컵홀더 (0) | 2018.10.28 |