문제 : https://www.acmicpc.net/problem/1919


[ 알고리즘풀이 ]

입력된 2개의 문자열에서 겹치는 알파벳들은 삭제하지않아도 되지만, 겹치지않는 알파벳들은 순서를 아무리 바꿔도 같게 만들 수 없으므로 삭제해줘야한다.

#include<iostream>
#include<string>
#include<algorithm>

using namespace std;

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

	string A, B;
	cin >> A >> B;

	int alphaA[26] = {}, alphaB[26] = {};

	for (int i = 0; i < A.length(); i++)
		alphaA[A[i] - 'a']++;
	for (int i = 0; i < B.length(); i++)
		alphaB[B[i] - 'a']++;

	int count = 0;
	for (int i = 0; i < 26; i++) {
		count += max(alphaA[i], alphaB[i]) - min(alphaA[i], alphaB[i]);
	}
	cout << count;
	return 0;
}

 

+ Recent posts