class Solution {
public String solution(String x, String y) {
StringBuilder sb = new StringBuilder();
int p1 = 0, p2 = 0;
char[] arr = x.toCharArray();
char[] brr = y.toCharArray();
Arrays.sort(arr);
Arrays.sort(brr);
while (p1 < x.length() && p2 < y.length()) {
if (arr[p1] == brr[p2]) {
sb.append(arr[p1]);
p1++;
p2++;
}
else if (arr[p1] > brr[p2]) p2++;
else if (arr[p1] < brr[p2]) p1++;
}
String answer = sb.reverse().toString();
if(answer.length()==0) return "-1";
else if(answer.startsWith("0")) return "0";
return answer;
}
}
이 문제는 두 문자열 X,Y를 비교해서 정답을 구하는 문제이다. 투포인터를 이용해서 두 배열을 비교해 StringBuilder에 담아서 값을 출력했다. 처음에 그냥 String에 담아서 값을 출력하니까 런타임에러가 떠서 당황했다. x,y는 상당히 큰 정수일 수 있으므로, StringBuilder를 사용하지 않고 그냥 String 끼리 합쳐서 문자열을 만들면 시간 초과가 발생한다.