본문 바로가기
PS/BOJ

[백준] 1919. 애너그램 만들기(c++)

by backend 개발자 지망생 2025. 1. 21.

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

글자 갯수가 같을 때만 고려해서 전체 사이즈에서 빼는 방식으로 접근했다가,, 글자 갯수가 같지 않을 때 같지 않는 값을 구해주는 것이 모든 경우를 포괄한다는 것을 알았다.


#include <iostream>
#include <cstdio>
#include <algorithm> 
#include <vector>
#include <string>
#include <map>
#include <limits.h>
#include <queue>
#include <set>
#include <math.h>
#include <stack>

using namespace std;

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

	string a;

	string b;

	cin >> a >> b;

	int count = 0;

	int a_save[26] = { 0 };
	int b_save[26] = { 0 };

	for (int i = 0; i < a.size(); i++) {
		a_save[a[i] - 'a']++;
	}

	for (int i = 0; i < b.size(); i++) {
		b_save[b[i] - 'a']++;
	}

	for (int i = 0; i < 26; i++) {
		if (a_save[i] != b_save[i]) {
			count += abs(a_save[i] - b_save[i]);
		}
	}

	cout << count;

	return 0;
}

'PS > BOJ' 카테고리의 다른 글

[백준] 5397. 키로거(c++)  (0) 2025.01.26
[백준] 1406. 에디터(c++)  (0) 2025.01.26
[백준] 11328. Strfry(c++)  (0) 2025.01.19
[백준] 13300. 방 배정(c++)  (0) 2025.01.19
[백준] 10807. 개수 세기(c++)  (0) 2025.01.19