https://www.acmicpc.net/problem/1120
사고과정)
1. 배열의 갯수 차이만큼 A배열을 한칸씩 밀어가면서 비교한다.
2. 비교하는 과정 한 번 거칠 때마다 총 몇 개가 겹치지 않았는지 파악.
가장 최소 수 구하라는 건 결국엔 빈칸을 채워넣는 곳은 그냥 B배열과 같다라고 가정하고 하면 된다.
그림그려가면서했다..
#include <iostream>
#include <string>
using namespace std;
int main()
{
string a, b;
cin >> a >> b;
int min = 50;
int dif = b.length() - a.length();
for (int len = 0; len <= dif; len++) // 문자열 옮기는 경우 수
{
int count = 0;
for (int i = 0; i < a.length(); i++) // 글자수 만큼
{
if (a[i] != b[i + len]) // 한칸씩 밀면서 체크.
count++;
}
min = min >= count ? count : min;
}
cout << min;
return 0;
}
'백준 문제풀이 > 실버4' 카테고리의 다른 글
백준 2164번 - 카드2 (0) | 2022.01.12 |
---|---|
백준 1049번 - 기타줄 (0) | 2021.12.17 |
백준 1978번 - 소수 찾기 (0) | 2021.11.11 |
백준 1065번 - 한수 (0) | 2021.11.07 |
백준 1026번 - 보물 (0) | 2021.10.22 |