어흥

[해커랭크] Strings: Making Anagrams (C++) 본문

알고리즘/HackerRank

[해커랭크] Strings: Making Anagrams (C++)

라이언납시오 2021. 2. 18. 15:54
728x90
반응형

문제 링크: www.hackerrank.com/challenges/ctci-making-anagrams/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=strings

 

Strings: Making Anagrams | HackerRank

How many characters should one delete to make two given strings anagrams of each other?

www.hackerrank.com

1. 주의할 점

- 26*2 크기의 배열을 이용하여 비교한다

 

2. 구현

- A 문자열에 속하는 모든 알파벳들의 개수 alpha[0][]에 기록한다

- B 문자열에 속하는 모든 알파벳들의 개수 alpha[1][]에 기록한다

- a-z까지의 알파벳 모두를 탐색하여 같은 문자열에 해당되는 두 배열의 차이만큼 Result에 더한다

int alpha[2][26];

int makeAnagram(string a, string b) {
    int result=0;
    for(int i=0;i<a.size();i++)
        alpha[0][a[i]-'a']++;
    for(int i=0;i<b.size();i++)
        alpha[1][b[i]-'a']++;
    for(int i=0;i<26;i++)
        result +=abs(alpha[0][i]-alpha[1][i]);
    return result;
}
728x90
반응형
Comments