Algorithm/배열
백준 1919 cpp // 문자열 차이검사는 +1, -1로 비교하라
Mini_96
2023. 8. 16. 20:42
https://www.acmicpc.net/problem/1919
1919번: 애너그램 만들기
두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs
www.acmicpc.net
*의사코드
1. s1 문자는 +1 // v[a]++
2. s2 문자는 -1 // v[a]--;
3. 0이 아닌 v에 대해 == 서로다른 문자에 대해 :
ret+= abs(v[a]) // s2는 음수이므로 절대값으로 해결
#include <bits/stdc++.h>
using namespace std;
int ret,a[26];
string s1, s2;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin >> s1>>s2;
for (auto c : s1) {
a[c - 'a']++;
}
for (auto c : s2) {
a[c - 'a']--;
}
//for (auto i : a) cout << i << " ";
for (int i = 0; i < 26;++i) {
if (a[i] != 0) {
ret += abs(a[i]);
}
}
cout << ret;
}