updated at 2022. 12. 18. 오전 12:46:57

This commit is contained in:
rl544
2022-12-18 00:46:56 +09:00
parent 6882ac1ea3
commit b27620cc73
+14 -19
View File
@@ -6,29 +6,24 @@ import java.util.stream.Stream;
class Solution { class Solution {
public String solution(String X, String Y) { public String solution(String X, String Y) {
String answer = ""; String answer = "";
LinkedList<Integer> an = new LinkedList<>(); LinkedList<Integer> linkedList = new LinkedList<>();
HashMap<Integer, Integer> hash = new HashMap<>(); HashMap<Integer, Integer> hash = new HashMap<>(), hash2 = new HashMap<>();
HashMap<Integer, Integer> hash2 = new HashMap<>(); for(char y : Y.toCharArray()){
char[] yy = Y.toCharArray(); int number = Character.getNumericValue(y);
char[] xx = X.toCharArray(); hash.put(number,hash.getOrDefault(number,0)+1);
for(char cy : yy){
int nn = Character.getNumericValue(cy);
hash.put(nn,hash.getOrDefault(nn,0)+1);
} }
for(char cx : xx){ for(char x : X.toCharArray()){
int nn = Character.getNumericValue(cx); int number = Character.getNumericValue(x);
hash2.put(nn,hash2.getOrDefault(nn,0)+1); hash2.put(number,hash2.getOrDefault(number,0)+1);
} }
for(Integer key : hash.keySet()){ for(Integer key : hash.keySet()){
if(hash2.getOrDefault(key,0)==0) continue; if(hash2.getOrDefault(key,0)==0) continue;
Integer count = Math.min(hash.get(key),hash2.get(key)); int count = Math.min(hash.get(key),hash2.get(key));
for(int oo = 0; oo < count; oo++) for(int z = 0; z < count; z++)
an.add(key); linkedList.add(key);
} }
Object[] ans = an.toArray(); answer = Arrays.stream(linkedList.toArray()).map(String::valueOf)
answer = Arrays.stream(ans).map(String::valueOf).sorted(Comparator.reverseOrder()).collect(Collectors.joining()); .sorted(Comparator.reverseOrder()).collect(Collectors.joining());
answer = (answer.equals(""))? "-1" : answer; return (linkedList.isEmpty())?"-1":((answer.charAt(0)=='0')?"0":answer);
answer = (answer.matches("^0+")) ? "0" : answer;
return answer;
} }
} }