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 | #include <stdio.h> #include <string.h> int main() { char strA[51], strB[51]; scanf("%s %s", &strA, &strB); int rst = 100; if (strlen(strA) < strlen(strB)) { for (int i = 0; i + strlen(strA) <= strlen(strB); i++) { int flag = 0; for (int j = 0; j < strlen(strA); j++) { if (strA[j] != strB[i + j]) { flag++; } } if (rst > flag) rst = flag; } } else { for (int i = 0; i + strlen(strB) <= strlen(strA); i++) { int flag = 0; for (int j = 0; j < strlen(strB); j++) { if (strB[j] != strA[i + j]) { flag++; } } if (rst > flag) rst = flag; } } printf("%d", rst); } | cs |
알고리즘/그리디 알고리즘