[C] 백준 1120 문자열
https://www.acmicpc.net/problem/1120
문제
길이가 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의 차이를 최소로 하는 프로그램을 작성하시오.
제출 10960  정답 비율  53%
코드
#include <stdio.h>
#include <string.h>
void main() {
	char A[50], B[51];
	int save[50] = { 0 };
	scanf("%s %s", &A, &B);
	for (int i = 0; i <= strlen(B) - strlen(A); i++) {
		int dif = 0;
		for (int j = 0; j <= i; j++) {
			A[j+1] = A[j];
		}
		for (int k = 0; k <= i + strlen(A); k++) {
			if (A[k] != B[k])
				dif++;
		}
		save[i] = dif;
	}
	int min = save[0];
	for (int i = 0; i < 50; i++) {
		if (save[i] < min) {
			min = save[i];
		}
	}
	printf("%d", min);
}
                Author And Source
이 문제에 관하여([C] 백준 1120 문자열), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@z00m__in/C-백준-1120-문자열저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)