백준/C++
[C++] 백준 1120번 - 문자열
꿩꿩
2024. 3. 28. 22:03
728x90
문제 1120번
https://www.acmicpc.net/problem/1120
1120번: 문자열
길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의
www.acmicpc.net
어떻게 풀지 고민하다가 찾아보니까 A,B가 가장 겹치는 곳을 count 해주고 그 count에 두 단어의 길이 차이를 더해준다(A의 앞과 뒤에 문자를 추가해주는 경우). B의 길이에서 count를 뺀 만큼이 차이값이므로 이를 출력해주면 된다고 한다.
#include <iostream>
#include <string>
using namespace std;
int main() {
string A,B;
cin >> A >> B;
int len = B.length() - A.length(); //길이 차이
int result = 0;
for (int i = 0; i <= len; i++) {
int count = 0;
for (int j = 0; j < A.length(); j++) { //A가 B보다 작거나 같으니까
if (A[j] == B[j + i]) {
count++;
}
}
result = max(result, count);
}
result = B.length() - (result + len);
cout << result;
return 0;
}
[참고] https://j3sung.tistory.com/375
내일 한번 더 풀어봐야겠다...
728x90