class Solution {
public String solution(String X, String Y) {
String answer = "";
StringBuilder sb = new StringBuilder();
int[] xArr = new int[10];
int[] yArr = new int[10];
for(String x : X.split("")){
xArr[Integer.parseInt(x)]++;
}
for(String y : Y.split("")){
yArr[Integer.parseInt(y)]++;
}
for(int i = 9; i>=0; i--){
while(xArr[i] > 0 && yArr[i] > 0){
sb.append(i);
xArr[i]--;
yArr[i]--;
}
}
answer = sb.toString();
if("".equals(sb.toString())) return "-1";
if("0".equals(sb.toString().substring(0, 1))) return "0";
return answer;
}
}
우선 숫자별로 개수를 파악하기 위한 배열 xArr/yArr를 만든 후 for문을 사용해 배열에 숫자를 셋팅한다
마지막 for문을 돌면서 i = 9 일때 부터 반복해 둘 다 가지고 있는 숫자라면 sb에 추가하는 방식으로 문제를 풀었다
댓글