알고리즘
백준 5555번: 반지
mezo
2020. 2. 16. 20:21
728x90
반응형
bool 을 사용하여 알파벳을 찾을때
일치하는지 확인하는 것보다 일치하지않는 철자가 나올경우 바로 false로 바꾸고 break하는 것이 더 효율적이다.
3중 for문을 사용한다.
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(void) {
ios_base::sync_with_stdio(0);
cin.tie(0);
string s;
int n;
int cnt = 0;
cin >> s;
cin >> n;
vector<string> v(n);
for (int i = 0; i < n; i++) {
cin >> v[i];
bool ring = false;
for (int j = 0; j < 10; j++) {
if (v[i][j] == s[0]) {
bool flag = true;
for (int k = 0; k < s.length(); k++) {
if (v[i][(j + k) % 10] != s[k]) {
flag = false;
break;
}
}
if (flag) {
ring = true;
break;
}
}
}
if (ring)
cnt++;
}
cout << cnt << endl;
return 0;
}
728x90
반응형