본문 바로가기

개발/코테

[JAVA] 더 크게 합치기

[문제]

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

  • 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