Link https://www.acmicpc.net/problem/1919
소스결과 1988 KB / 0 ms
출처 Baekjoon
언어 C++ 17
분류 문자열처리
설명
두 문장이 애너그램이 되기 위해서 지워야 하는 문자의 개수를 출력하자
알고리즘
1. 첫번째 문자열의 각 문자 개수를 배열에 저장한다.
2. 두번째 문자열의 각 문자 개수를 배열에 저장한다.
3. a ~ z 까지 큰 수 - 작은 수를 합해 출력한다.
소스코드
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main()
{
int alphaTop[26] = {}, alphaBot[26] = {}, res = 0;
string top, bot;
cin >> top >> bot;
for (int i = 0; i < top.size(); i++)
alphaTop[top[i] - 'a']++;
for (int i = 0; i < bot.size(); i++)
alphaBot[bot[i] - 'a']++;
for (int i = 0; i < 26; i++)
res += abs(alphaTop[i] - alphaBot[i]);
cout << res;
return 0;
}
'Algorithm > 문자열 처리' 카테고리의 다른 글
Baekjoon 2870 수학숙제 (0) | 2019.08.23 |
---|---|
Baekjoon 9536 여우는 어떻게 울지? (0) | 2019.08.23 |
Baekjoon 10988 팰린드롬인지 확인하기 (0) | 2019.08.21 |
Baekjoon 1032 명령 프롬프트 (0) | 2019.08.21 |
Baekjoon 1100 하얀 칸 (0) | 2019.08.21 |