1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #include <stdio.h> #include <iostream> #include <string> using namespace std; char str[2600]; char part[55]; int main() { cin.getline(str, 2600); cin.getline(part, 55); int len = 0, l = 0, flag = 0; for (int i = 0; i < 2600; i++) { if (str[len] != '\0') { len++; } if (part[l] != '\0' && flag == 0) { l++; } if (str[len] == '\0' && part[l] == '\0') break; } int chk[2600] = { 0 }; int rst = 0; for (int i = 0; i <= len - l; i++) { if (str[i] == part[0] && chk[i] == 0) { int j; for (j = 0; j < l; j++) { if (str[i + j] != part[j]) { break; } } if (j == l) { for (int j = 0; j < l; j++) { chk[i + j] = 1; } rst++; } } } printf("%d", rst); } | cs |
'알고리즘 > 그리디 알고리즘' 카테고리의 다른 글
1202 보석도둑 (0) | 2019.08.29 |
---|---|
1781 컵라면 (0) | 2019.08.29 |
1969 DNA (0) | 2019.07.01 |
2873 롤러코스터 (재풀이 필요) (0) | 2019.06.30 |
9576 책 나눠주기 (0) | 2019.06.29 |