diff --git a/programmers/숫자 짝꿍/solution.java b/programmers/숫자 짝꿍/solution.java index f30fca9..4034fd6 100644 --- a/programmers/숫자 짝꿍/solution.java +++ b/programmers/숫자 짝꿍/solution.java @@ -6,29 +6,24 @@ import java.util.stream.Stream; class Solution { public String solution(String X, String Y) { String answer = ""; - LinkedList an = new LinkedList<>(); - HashMap hash = new HashMap<>(); - HashMap hash2 = new HashMap<>(); - char[] yy = Y.toCharArray(); - char[] xx = X.toCharArray(); - for(char cy : yy){ - int nn = Character.getNumericValue(cy); - hash.put(nn,hash.getOrDefault(nn,0)+1); + LinkedList linkedList = new LinkedList<>(); + HashMap hash = new HashMap<>(), hash2 = new HashMap<>(); + for(char y : Y.toCharArray()){ + int number = Character.getNumericValue(y); + hash.put(number,hash.getOrDefault(number,0)+1); } - for(char cx : xx){ - int nn = Character.getNumericValue(cx); - hash2.put(nn,hash2.getOrDefault(nn,0)+1); + for(char x : X.toCharArray()){ + int number = Character.getNumericValue(x); + hash2.put(number,hash2.getOrDefault(number,0)+1); } for(Integer key : hash.keySet()){ if(hash2.getOrDefault(key,0)==0) continue; - Integer count = Math.min(hash.get(key),hash2.get(key)); - for(int oo = 0; oo < count; oo++) - an.add(key); + int count = Math.min(hash.get(key),hash2.get(key)); + for(int z = 0; z < count; z++) + linkedList.add(key); } - Object[] ans = an.toArray(); - answer = Arrays.stream(ans).map(String::valueOf).sorted(Comparator.reverseOrder()).collect(Collectors.joining()); - answer = (answer.equals(""))? "-1" : answer; - answer = (answer.matches("^0+")) ? "0" : answer; - return answer; + answer = Arrays.stream(linkedList.toArray()).map(String::valueOf) + .sorted(Comparator.reverseOrder()).collect(Collectors.joining()); + return (linkedList.isEmpty())?"-1":((answer.charAt(0)=='0')?"0":answer); } } \ No newline at end of file