https://school.programmers.co.kr/learn/courses/30/lessons/131128
시간초과때문에 이중반복문은 사용X
java x[Integer.parseInt(i)]++;
배열에 해당하는 숫자가 있으면 인덱스값의 +1
for(int i =9; i>=0; i--){
while(x[i]>=1 && y[i]>=1){
sb.append(i);
x[i]--;
y[i]--;
}
}
if("0".equals(sb.toString().substring(0,1))){
return "0";
}
값이 "000"이면 0만 출력되야 하기때문에 substring메소드를 사용해서 첫번째만 추출한 후 0이면 return "0"
import java.util.*;
class Solution {
public String solution(String X, String Y) {
StringBuilder sb = new StringBuilder();
int[] x = new int[10];
int[] y = new int[10];
for(String i : X.split("")){
x[Integer.parseInt(i)]++;
}
for(String i : Y.split("")){
y[Integer.parseInt(i)]++;
}
for(int i =9; i>=0; i--){
while(x[i]>=1 && y[i]>=1){
sb.append(i);
x[i]--;
y[i]--;
}
}
if((sb.toString()).equals("")){
return "-1";
}
if("0".equals(sb.toString().substring(0,1))){
return "0";
}
return sb.toString();
}
}