import java.util.*;
class Solution {
public String solution(String a, String s) {
int[] c = new int[10];
int[] d = new int[10];
int[] f = new int[10];
for(int i = 0; i < a.length(); i++) {
if(a.charAt(i) == '0') {
c[0]++;
}else if(a.charAt(i) == '1') {
c[1]++;
}else if(a.charAt(i) == '2') {
c[2]++;
}else if(a.charAt(i) == '3') {
c[3]++;
}else if(a.charAt(i) == '4') {
c[4]++;
}else if(a.charAt(i) == '5') {
c[5]++;
}else if(a.charAt(i) == '6') {
c[6]++;
}else if(a.charAt(i) == '7') {
c[7]++;
}else if(a.charAt(i) == '8') {
c[8]++;
}else if(a.charAt(i) == '9') {
c[9]++;
}
}
for(int i = 0; i < s.length(); i++) {
if(s.charAt(i) == '0') {
d[0]++;
}else if(s.charAt(i) == '1') {
d[1]++;
}else if(s.charAt(i) == '2') {
d[2]++;
}else if(s.charAt(i) == '3') {
d[3]++;
}else if(s.charAt(i) == '4') {
d[4]++;
}else if(s.charAt(i) == '5') {
d[5]++;
}else if(s.charAt(i) == '6') {
d[6]++;
}else if(s.charAt(i) == '7') {
d[7]++;
}else if(s.charAt(i) == '8') {
d[8]++;
}else if(s.charAt(i) == '9') {
d[9]++;
}
}
for(int i = 0; i < 10; i++) {
if(c[i] <= d[i]) {
f[i] = c[i];
}else {
f[i] = d[i];
}
}
StringBuffer answer1 = new StringBuffer();
for(int i = 9; i >=0; i--) {
for(int t = 0; t < f[i]; t++) {
answer1.append(i);
}
}
String answer = answer1.toString();
if(f[1]==0&&f[2]==0&&f[3]==0&&f[4]==0&&f[5]==0&&f[6]==0&&f[7]==0&&f[8]==0&&f[9]==0) {
answer = "0";
if(f[0]==0) {
answer = "-1";
}
}
return answer;
}
}
+13점
숫자는 0~9까지밖에 없으니까 그냥 이프문 10개 작성하고 각각 숫자가 쓰인 횟수 조사
이중포문은 거의 안되고 1중포문은 중복되는 짝꿍 거르기 어려움, 걸러내도 시간초과가뜸