반응형
1919번: 애너그램 만들기
두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs
www.acmicpc.net
문자열을 입력받아 알파벳 순서대로 각 배열에 카운트 해준다.
알파벳이 총 26자니까 배열 크기를 26으로 선언했고 카운트 하기 위해 0으로 초기화 해주었다.
만약 배열을 순회하며 개수가 같지 않은 알파벳이 나온다? 그럼 그 차이만큼 카운트 증가!
근데 뺀 값이 음수가 될 수도 있으니까 절대값을 해준다. abs함수를 이용했다.
#include<iostream>
#include<string>
#include <cstdlib>
using namespace std;
int main(void)
{
ios_base::sync_with_stdio(0);
cin.tie(0);
string a,b;
cin>>a>>b;
int arr1[26]={0,};
int arr2[26]={0,};
int count=0;
for(int i=0;i<a.length();i++){
arr1[a[i]-'a']++;
}
for(int i=0;i<b.length();i++){
arr2[b[i]-'a']++;
}
for(int i=0;i<26;i++){
if(arr1[i]!=arr2[i]){
count+=abs(arr1[i]-arr2[i]);
}
}
cout<<count;
return 0;
}
반응형
'알고리즘' 카테고리의 다른 글
[백준/10773번][C++] 제로 (0) | 2021.01.25 |
---|---|
[백준/5397번][C++] 키로거 (0) | 2021.01.25 |
[백준/1406번][C++] 에디터 (0) | 2021.01.25 |
[백준/11328번][C++] Strfry (0) | 2021.01.25 |
[백준/10171번][C++] 고양이 (0) | 2021.01.25 |