코딩테스트연습/[프로그래머스] Java

[프로그래머스] Java 코딩테스트 연습 - 더 크게 합치기

_꼬마돌 2023. 6. 16. 18:02
반응형

[프로그래머스] Java 코딩테스트 연습 - 더 크게 합치기

문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/181939

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제

연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 
예를 들면 다음과 같습니다. 
12 ⊕ 3 = 123
3 ⊕ 12 = 312
양의 정수 a 와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return하는 solution 함수를 완성해주세요. 
단, a ⊕ b 와 b ⊕ a 가 같다면 a ⊕ b 를 return합니다. 

 

제한사항

1 ≤ a , b < 10,000

 

풀이

a와 b가 int형 변수인데, 문제에서는 일반적인 덧셈이 아닌 두 정수를 이어 붙인 값을 구하는 것을 요구하고 있다.
그래서 String.valueOf() 메서드로 변수 a와 b를 string으로 형변환한 뒤에 ab, ba 순으로 이어붙인 값을 String 형태의 변수에 저장했다.(ab , ba)
합쳐진 수의 크기를 비교해야하기 때문에, string형태인 ab와 ba를 int 형으로 변환해 abValue, baValue 변수에 저장했다. 
그 다음에 abValue와 baValue의 크기를 비교해 문제에서 요구하는 대로 return하도록 했다.

 

소스코드

class Solution {
    public int solution(int a, int b) {
        
        String ab = String.valueOf(a) + String.valueOf(b);
        String ba = String.valueOf(b) + String.valueOf(a);
        
        int abValue = Integer.parseInt(ab);
        int baValue = Integer.parseInt(ba);
        
        if (abValue >= baValue) {
            return abValue;
        } else {
            return baValue;
        }
    }
}

 

반응형