-
[1120] 문자열BOJ 2022. 2. 14. 17:40
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
<문제>
남는 자리는 그리디적으로 Y와 같은 문자로 채워준다고 가정하면,
채워주지 않고 X의 문자를 그대로 사용하는 구간만 탐색하면 된다.
문자열의 길이를 각각 A, B라 하면 하나는 항상 [0, A)까지 비교하고,
다른 문자열에서 [0, B-A]를 시작점으로 갖는 길이 A의 두 문자열을 비교하면 된다.
<소스코드>
#include <bits/stdc++.h>using namespace std;string a, b;int ans = 54321;int main(void) {ios_base::sync_with_stdio(0);cin.tie(0);cin >> a >> b;int i, j, A = a.length(), B = b.length();for (i = 0; i <= B - A; i++) {int cnt = 0;for (j = 0; j < A; j++) cnt += (a[j] != b[i + j]);ans = min(cnt, ans);}cout << ans;return 0;}'BOJ' 카테고리의 다른 글
[10252] 그리드 그래프 (0) 2022.02.19 [13164] 행복 유치원 (0) 2022.02.17 [22115] 창영이와 커피 (0) 2022.02.13 [16493] 최대 페이지 수 (0) 2022.02.12 [12034] 김인천씨의 식료품가게 (Large) (0) 2022.02.12