본문 바로가기

코딩 테스트

백준 1120

 

#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;
}

 

'코딩 테스트' 카테고리의 다른 글

백준 2751  (0) 2023.06.15
백준 1764  (0) 2023.06.14
백준 10989  (0) 2023.06.13
백준 1874  (0) 2023.06.13
백준 11650  (0) 2023.06.12