본문 바로가기
코드문제풀이/JAVA

[자바] 두 수의 연산값 비교하기

by 똥쟁이핑크 2023. 7. 3.

https://school.programmers.co.kr/learn/courses/30/lessons/181938?language=java 

 

프로그래머스

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

programmers.co.kr

문제 설명

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

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

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

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

 

제한 사항

  • 1 ≤ ab < 10,000

입출력 예

a b result
2 91 364
91 2 912

입출력 예 설명

입출력 예 #1

  • a ⊕ b = 291 이고, 2 * a * b = 364 입니다. 둘 중 더 큰 값은 364 이므로 364를 return 합니다.

입출력 예 #2

  • a ⊕ b = 912 이고, 2 * a * b = 364 입니다. 둘 중 더 큰 값은 912 이므로 912를 return 합니다.

나의 문제 풀이

1) 숫자를 문자열로 바꾸기 위해 Integer.toString()을 사용하였다

2) a, b를 문자열로 바꾼 다음에 문자열을 합쳤다

3) 합친 문자열을 다시 int 로 바꾸기 위해 Integer.parseInt()를 사용하였다

4) 숫자로 바꾼 abint와 계산식을 비교해서 큰 수가 나오게 하기 위해 if 조건식을 작성하였다.

class Solution {
    public int solution(int a, int b) {
        int answer = 0;
        String astr = Integer.toString(a);
        String bstr = Integer.toString(b);
        String abstr = astr + bstr;
        int abint = Integer.parseInt(abstr);
        
        if(abint > 2 * a * b){
            answer = abint;
        }
        else{
            answer = 2 * a * b;
        }
        
        return answer;
    }
}

'코드문제풀이 > JAVA' 카테고리의 다른 글

[자바] 문자열 섞기  (0) 2023.07.05
[자바] n보다 커질 때까지...  (0) 2023.07.04
[자바] 덧셈식 출력하기  (0) 2023.07.03
[자바] n번째 원소까지  (0) 2023.07.03
[자바]길이에 따른 연산  (0) 2023.07.03