Algorithm/Hacker Rank
Making Anagrams
마산와사비
2020. 1. 6. 16:52
Strings: Making Anagrams | HackerRank
How many characters should one delete to make two given strings anagrams of each other?
www.hackerrank.com
- 풀이
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.regex.*;
public class Solution {
// Complete the makeAnagram function below.
static int makeAnagram(String a, String b) {
if (a.length() < b.length()) {
String tmp = a;
a = b;
b = tmp;
}
char[] aArr = a.toCharArray();
char[] bArr = b.toCharArray();
for (int i = 0; i < a.length(); i++) {
for (int j = 0; j < b.length(); j++) {
if (aArr[i] == bArr[j]) {
aArr[i] = '.';
bArr[j] = '/';
}
}
}
int ret = 0;
for (int i = 0; i < a.length(); i++) {
if (aArr[i] != '.') {
ret++;
}
}
for (int i = 0; i < b.length(); i++) {
if (bArr[i] != '/') {
ret++;
}
}
return ret;
}
private static final Scanner scanner = new Scanner(System.in);
public static void main(String[] args) throws IOException {
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));
String a = scanner.nextLine();
String b = scanner.nextLine();
int res = makeAnagram(a, b);
bufferedWriter.write(String.valueOf(res));
bufferedWriter.newLine();
bufferedWriter.close();
scanner.close();
}
}