본문 바로가기
Programming/Algorithm

swe 1213 String

by OKOK 2018. 3. 28.

1. 아이디어 구현

2. 예외 없으니, 시간 복잡도를 생각해야 하나

3. 시간 초과나오면? 그때가서 새로운 설계?


중복을 줄이기 위해서는 어떻게 해야 하는가? 


/*

문자열을 연습합니다.

1745 시작합니다.

받은 것은 그대로 두고, 

비교해야 하는 문자열을 검사하도록 하겠습니다.

*/


#include <iostream>

#include <string>

using namespace std;


int word[10];

string str;

string input;

int ans;

int length;

int length2;

int isMatch;


void problemIn() {

cin >> input;

cin >> str;


length = input.size();

for (int i = 0; i < length; i++) {

word[i] = input[i];

}

}


void init() {

ans = 0;

}


void solve() {


length2 = str.size();

for (int i = 0; i < length2; i++) {

for (int j = 0; j < length; j++) {

if (str[i+j] == word[j]) {

isMatch = 1;

}

else {

isMatch = 0;

break;

}

}

if (isMatch) ans++;

}

}


int main() {

for (int i = 0; i < 10; i++) {

int tc;

cin >> tc;

problemIn();

solve();

cout << "#" << tc << " " << ans << endl;

init();

}

return 0;

}