문제 정보
| 항목 | 내용 |
|---|---|
| 플랫폼 | Programmers |
| 난이도 | Lv.0 |
| 문제 번호 | 181938 |
| 문제 링크 | 문제 보기 |
| GitHub Link | C++/프로그래머스/0/181938. 두 수의 연산값 비교하기 |
문제
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
- 12 ⊕ 3 = 123
- 3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 2 * a * b 중 더 큰 값을 return하는 solution 함수를 완성해 주세요.
단, a ⊕ b와 2 * a * b가 같으면 a ⊕ b를 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;
}
댓글
GitHub 계정으로 의견을 남길 수 있습니다.
GitHub에서 댓글 삭제