[문제]
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
- 12 ⊕ 3 = 123
- 3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.
단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다.
[내 풀이]
class Solution {
public int solution(int a, int b) {
String achar = a+ "";
String bchar = b+ "";
String ab = achar+bchar;
String ba = bchar+achar;
if (Integer.parseInt(ab) < Integer.parseInt(ba)){
return Integer.parseInt(ba);
}
else {
return Integer.parseInt(ab);
}
}
}
<Int to String>
- int 뒤에 ""을 붙여주면 됨
- Integer.to.String()
<String to Int>
- Integer.parseInt()
- Integer.valueOf()
<char to int>
-character.getNumericValue()
[다른 사람의 풀이]
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 Math.max(Integer.valueOf(strSum1), Integer.valueOf(strSum2));
}
}
String.valueOf로 값을 뽑아냄
Math.max 사용
class Solution {
public int solution(int a, int b) {
return Math.max(Integer.parseInt(a + "" + b), Integer.parseInt(b + "" + a));
}
}
Integer.parseInt(a+""+b)를 통해서 별도의 형변환없이 바로 a와 b를 합친 것, b와 a를 합친 것을 만들어냈다.
'개발 > 코테' 카테고리의 다른 글
[JAVA] 공배수 (0) | 2024.04.04 |
---|---|
[JAVA] 두 수의 연산값 비교하기 (0) | 2024.04.04 |
[JAVA] 문자열 곱하기 (0) | 2024.04.02 |
[JAVA] 문자 리스트를 문자열로 변환하기 (0) | 2024.03.26 |
[JAVA] 문자열 섞기 (0) | 2024.03.26 |