풀이
// class Solution {
// public int solution(int a, int b) {
// int answer = 0;
// int tmp=Integer.parseInt((a+""+b+""));
// int tmp2=Integer.parseInt((b+""+a+""));
// answer=(tmp>=tmp2)?tmp:tmp2;
// return answer;
// }
// }
class Solution {
public int solution(int a, int b) {
String strA = String.valueOf(a);
String strB = String.valueOf(b);
String strSum1 = strA + strB;
String strSum2 = strB + strA;
// return (Integer.valueOf(strSum1)>=Integer.valueOf(strSum2))?Integer.valueOf(strSum1):Integer.valueOf(strSum2);
return Math.max(Integer.valueOf(strSum1), Integer.valueOf(strSum2));
}
}
풀이방법
주석1) int a,b에 ""를 더해 문자열로 변환한 후 parseInt()로 정수로 변환하여 tmp에 저장
삼항연산자로 비교 출력
2) valueOf()로 정수a,b를 문자열로 변환 후 연산, Math클래스 Math.max로 최대값 반환
:정수로 변환 후 삼항연산자로 하는 방식과 속도는 비슷하지만 코드가 간결하므로 Math.max사용
:1)방식에 비해 2)방식이 2배 가량 빠르게 나왔지만 1)방식이 코드는 더 간결하고 0.1ms와 0.2ms속도 차이이기 때문에 실질적으로는 1)방식이 사용될것같다.