어흥
[해커랭크] Strings: Making Anagrams (C++) 본문
728x90
반응형
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
반응형
'알고리즘 > HackerRank' 카테고리의 다른 글
[해커랭크] Anagram (C++) (0) | 2021.02.24 |
---|---|
[해커랭크] Palindrome Index (C++) (0) | 2021.02.23 |
[해커랭크] Frequency Queries (C++) (0) | 2021.02.17 |
[해커랭크] Count Triplets (C++) (0) | 2021.02.17 |
[해커랭크] Sherlock and Anagrams (C++) (0) | 2021.02.16 |
Comments