코딩 테스트

백준 1120

__sapar 2023. 6. 9. 00:11

 

#include <iostream>
#include <string>
using namespace std;

int main(void)
{
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	string a, b;

	cin >> a >> b;

	int num2 = 50;
	int num3 = a.size(); // hello
	int num4 = b.size(); // asdqwe
	
	for (int i = 0; i < b.size(); ++i)
	{
		int num = 0;
		for (int j = 0; j < a.size() ; ++j)
		{
			if (a[j] != b[i + j])
			{
				num++;
			}
		}
		num3++;

		if (num2 >= num)
		{
			num2 = num;
		}
		if (num3 > num4)
		{
			break;
		}
	}

	cout << num2 << "\n";





	return 0;
}

for 문에 b.size 를 사용하면서 num3, num4 변수를 추가 하였는데

 

int sizeM = b.size() - a.size(); // 변수를 만들어 놓으면

num3, num4 변수나 break; 구문 없이 더 간단하게 풀 수 있었다.

 

#include <iostream>
#include <string>
using namespace std;

int main(void)
{
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	string a, b;

	cin >> a >> b;

	int num2 = 50;
	int sizeM = b.size() - a.size();
	
	for (int i = 0; i <= sizeM; ++i)
	{
		int num = 0;
		for (int j = 0; j < a.size() ; ++j)
		{
			if (a[j] != b[i + j])
			{
				num++;
			}
		}

		if (num2 >= num)
		{
			num2 = num;
		}
	}

	cout << num2 << "\n";





	return 0;
}