Blog

더 크게 합치기

날짜 2023-10-08
사용 언어 Java
문제 유형 문자열
정답률 89%
문제 URL https://school.programmers.co.kr/learn/courses/30/lessons/181939

문제 #

문제 설명 #

연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.

  • 12 ⊕ 3 = 123
  • 3 ⊕ 12 = 312

양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.

단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다.

제한사항 #
  • 1 ≤ ab < 10,000

나의 풀이 #

class Solution {
    public int solution(int a, int b) {
        int ab = Integer.parseInt(a+""+b);
        int ba = Integer.parseInt(b+""+a);
        
        return ab<ba ? ba : ab;
    }
}

다른 사람의 풀이 #

class Solution {
    public int solution(int a, int b) {
        return Math.max(Integer.parseInt(a + "" + b), Integer.parseInt(b + "" + a));
    }
}

좌(나의 풀이) 우(Math사용) Math 함수를 사용할 경우 약간의 시간이 더 걸린다.

좌(나의 풀이) 우(Math사용) Math 함수를 사용할 경우 약간의 시간이 더 걸린다.


관련개념 학습 #

int a = 2+3;
double b = 2+(double)3;
String c = ""+2+3;

System.out.printf("a : %d\nb : %f\nc : %s", a, b, c);

연산 결과
a : 5
b : 5.000000
c : 23

Java에서는 Double + int나 String + int 등 다른 연산자와의 연산 시 자동 캐스팅 된다.

Math