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; } |