Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- JUMPGAME
- algospot
- dynamic programming
- 문자열
- codesignal
- algorithm
- ACM-ICPC
- 동적 계획법
- 최단 경로 알고리즘
- java
- 다익스트라
- Sherlock and the Valid String
- Dynamic Programing
- Alternating Characters
- Making Anagrams
- centuryFromYear
- Math.ceil
- hacker rank
- 01 타일
- Dijkstra
- 명령 프롬프트
Archives
- Today
- Total
Florescence
Making Anagrams 본문
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();
}
}
'Algorithm > Hacker Rank' 카테고리의 다른 글
Sherlock and the Valid String (0) | 2020.01.07 |
---|---|
Alternating Characters (0) | 2020.01.06 |
Comments