# Anagram – HackerRank Solution

In this post, we will solve Anagram HackerRank Solution. This problem (Anagram) is a part of HackerRank Problem Solving Series.

## Solution – Anagrams – HackerRank Solution

### C++

```#include <iostream>
#include <string>
#include <map>

using namespace std;

int getChangesToAnagram(string s1, string s2) {
int total, N1;
int N2 = s2.size();
map<char, int> charCount;

total = N1 = s1.size();

if (N1 != N2) return -1;

for (int i = 0; i < N2; i++)
charCount[s2[i]]++;

for (int i = 0; i < N1; i++) {
if (charCount[s1[i]] > 0) {
total--;
charCount[s1[i]]--;
}
}

}

int main() {
int N;
cin >> N;

for (int i = 0; i < N; i++) {
string s;
cin >> s;
cout << getChangesToAnagram(s.substr(0, s.size() / 2), s.substr(s.size() / 2)) << endl;
}
}
```

### Python

```#!/bin/python3

import sys
from collections import Counter

def anagram(s):
if len(s)%2 == 1:
return -1

res = 0

cnt1 = Counter(s[:len(s)//2])
cnt2 = Counter(s[len(s)//2:])
cnt3 = {}

for let, val in cnt1.items():
cnt3[let] = abs(val - cnt2[let])
for let, val in cnt2.items():
cnt3[let] = abs(val - cnt1[let])

for el in cnt3.values():
res += el

return res//2

q = int(input().strip())
for a0 in range(q):
s = input().strip()
result = anagram(s)
print(result)
```

### Java

```import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

public class Solution {

static int anagram(String s){
if (s.length() % 2 != 0) { return -1; }
int[] cache = new int[70];

for (int i = 0; i < s.length() / 2; i++) {
cache[Character.getNumericValue(s.charAt(i))]++;
}

for (int i = s.length() / 2; i < s.length(); i++) {
if (cache[Character.getNumericValue(s.charAt(i))] > 0) {
cache[Character.getNumericValue(s.charAt(i))]--;
}
}

int counter = 0;
for (int i = 0; i < 70; i++) {
counter += cache[i];
}

return counter;
}

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int q = in.nextInt();
for(int a0 = 0; a0 < q; a0++){
String s = in.next();
int result = anagram(s);
System.out.println(result);
}
}
}
```

Note: This problem (Anagrams) is generated by HackerRank but the solution is provided by CodingBroz. This tutorial is only for Educational and Learning purpose.