변환한 값을 더해준 후 다시 합쳐진 문자열을 Integer.parseInt() 메소드로 정수로 변환합니다.
if문을 사용하여 두 정수를 비교 후 answer에 담아 출력하면 됩니다.
package com.namji.codingtest;
public class CombineBigger {
public static void main(String[] args) {
/*
* 두 정수 사이에 ⊕기호가 있으면
* 두 정수를 붙이는 역할을 합니다.
* 양의 정수 a와 b가 주어질 때
* a ⊕b와 b ⊕a를 했을 때 더 큰 값을 출력하는 문제입니다.
* 붙인 두 값이 같다면a ⊕b를 출력합니다.
* a 9 b 91 > 991, 919 / a 89 b 8 > 898, 889
*/
int a = 89;
int b = 8;
String ab = String.valueOf(a) + String.valueOf(b);
String ba = String.valueOf(b) + String.valueOf(a);
int AB = Integer.parseInt(ab);
int BA = Integer.parseInt(ba);
if (AB > BA) {
System.out.println(AB);
} else if (AB < BA) {
System.out.println(BA);
} else {
System.out.println(AB);
}
}
}
프로그래머스 코드
다른 사람 풀이
더 간단한 후기를 봐서 그 방법도 올립니다.
+기호를 통해 연산을 할 때 문자열이 하나라도 존재하게 된다면 정수도 문자열로 변환되어 계산된다는 것을 이용하고
그 후 삼항 연산자를 이용하여 간단하게 만든 풀이입니다.
package com.namji.codingtest;
public class CombineBigger {
public static void main(String[] args) {
/*
* 두 정수 사이에 ⊕기호가 있으면
* 두 정수를 붙이는 역할을 합니다.
* 양의 정수 a와 b가 주어질 때
* a ⊕b와 b ⊕a를 했을 때 더 큰 값을 출력하는 문제입니다.
* 붙인 두 값이 같다면a ⊕b를 출력합니다.
* a 9 b 91 > 991, 919 / a 89 b 8 > 898, 889
*/
int a = 5;
int b = 5;
int ab = Integer.parseInt(""+ a + b);
int ba = Integer.parseInt(""+ b + a);
int answer = ab > ba ? ab : ba;
System.out.println(answer);
}
}