반응형
문제
길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다.
두 문자열 A와 B가 주어진다. 이때, A의 길이는 B의 길이보다 작거나 같다. 이제 A의 길이가 B의 길이와 같아질 때 까지 다음과 같은 연산을 할 수 있다.
- A의 앞에 아무 알파벳이나 추가한다.
- A의 뒤에 아무 알파벳이나 추가한다.
이때, A와 B의 길이가 같으면서, A와 B의 차이를 최소로 하는 프로그램을 작성하시오.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main(void) {
int i, j;
char x[51], y[51];
scanf("%s %s", &x, &y);
int min = strlen(y);
for (i = 0; i <= strlen(y) - strlen(x); i++) {
int tmp = 0, cnt = 0;
for (j = i; j < i + strlen(x); j++) {
if (x[cnt] != y[j])
tmp++;
cnt++;
}
if (min > tmp)
min = tmp;
}
printf("%d\n", min);
return 0;
}
반응형
'Algorithm > BAEKJOON' 카테고리의 다른 글
[ C / C++ ] 백준 1152 단어의 개수 (0) | 2022.02.14 |
---|---|
[ C / C++ ] 백준 1149 RGB 거리 (0) | 2022.02.14 |
[ C / C++ ] 백준 1074 Z (0) | 2022.02.08 |
[ C / C++ ] 백준 1037 약수 (0) | 2022.02.07 |
[ C / C++ ] 백준 1010 다리 놓기 (0) | 2022.02.06 |