문제에 조건이 명확하지 않음
- Test1 : 전체 문자열 비교 (명확하나 문제조건이 부실하여 오히려 정답 안됨)
#include <iostream>
#include <vector>
using namespace std;
int sun = 0;
string st;
int stsize;
bool check(string tmp, int len) {
int i = 0;
while(1) {
if (i+len >= stsize) break;
string be = st.substr(i + len, len);
if (tmp != be)
return false;
i += len;
}
return true;
}
void run() {
sun++;
cin >> st;
string tmp;
stsize = st.size();
for (int i = 1; i <= stsize; i++) {
if (stsize % i != 0) continue;
tmp = st.substr(0, i);
if (check(tmp, i)==1)
break;
}
cout << "#" << sun<<" "<<tmp.length();
cout << endl;
}
int main() {
int t = 0;
cin >> t;
for (int i = 0; i < t; i++) {
run();
}
return 0;
}
- Test2 : 문자열을 전체 다 확인할 필요 없이 다음문자열과만 비교
#include <iostream>
#include <vector>
using namespace std;
int sun = 0;
string st;
int stsize;
bool check(string tmp, int len) {
string be = st.substr(len, len);
if (tmp == be) return true;
if (tmp != be) return false;
}
void run() {
sun++;
cin >> st;
string tmp;
stsize = st.size();
for (int i = 1; i <= 10; i++) {
tmp = st.substr(0, i);
if (check(tmp, i)==1)
break;
}
cout << "#" << sun<<" "<<tmp.length();
cout << endl;
}
int main() {
int t = 0;
cin >> t;
for (int i = 0; i < t; i++) {
run();
}
return 0;
}
'APS > SWEA' 카테고리의 다른 글
1208. [S/W 문제해결 기본] 1일차 - Flatten C++ (0) | 2021.08.26 |
---|---|
1206. [S/W 문제해결 기본] 1일차 - View (0) | 2021.08.26 |
3499. 퍼펙트 셔플 (0) | 2021.08.25 |
2001. 파리 퇴치 (0) | 2021.08.25 |
1979. 어디에 단어가 들어갈 수 있을까 (0) | 2021.08.24 |