Algorithm/BAEKJOON

[ C / C++ ] 백준 1120 문자열

곽수진 2022. 2. 13. 16:25
반응형

문제

길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다.

두 문자열 A와 B가 주어진다. 이때, A의 길이는 B의 길이보다 작거나 같다. 이제 A의 길이가 B의 길이와 같아질 때 까지 다음과 같은 연산을 할 수 있다.

  1. A의 앞에 아무 알파벳이나 추가한다.
  2. 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