보글보글 개발일지
article thumbnail
반응형

www.acmicpc.net/problem/1919

 

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
profile

보글보글 개발일지

@보글

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!