문제 정보


항목 내용
플랫폼 Programmers
난이도 Lv.0
문제 번호 181938
문제 링크 문제 보기
GitHub Link C++/프로그래머스/0/181938. 두 수의 연산값 비교하기

문제


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

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

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

단, ab2 * a * b가 같으면 ab를 return 합니다.

제한사항


- 1 ≤ a, b < 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 합니다.

※ 2023년 04월 27일 입출력 예 설명이 수정되었습니다.

풀이 코드


두 수의 연산값 비교하기.cpp

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int solution(int a, int b) {
    int answer = 0;

    int number_a = 2 * a * b;
    int number_b = 0;

    string num_a = to_string(a);
    string num_b = to_string(b);

    string snumber_b = num_a + num_b;
    number_b = stoi(snumber_b);

    if (number_a == number_b) answer = number_b;
    else answer = max(number_a, number_b);
    return answer;
}