개발나라 스용공주

[프로그래머스] Lv.0 C++ 두수의 연산값 비교하기 / 정수와 문자열 형변환 to_string(), stoi() 본문

C++/코딩테스트

[프로그래머스] Lv.0 C++ 두수의 연산값 비교하기 / 정수와 문자열 형변환 to_string(), stoi()

스용공주 2024. 3. 22. 07:02
728x90
728x90

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

a b result
2 91 364
91 2 912

 

 

#include <string>
#include <vector>

using namespace std;

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

    string sa = to_string(a);
    string sb = to_string(b);

    string sum_sa = sa + sb;

    int c = stoi(sum_sa);

    int d = 2 * a * b;

    if (c > d)
        answer = c;
    else
        answer = d;

    return answer;
}

 

이 문제는 숫자 두개를 붙이려면 문자열형으로 숫자를 사용해야하고 숫자를 연산하려면 정수형으로 숫자를 사용해야한다. 따라서 아래와 같이 형변환을 해준다.

  • to_string() : 정수형을 문자열형으로 형변환
  • stoi() : 문자열형을 정수형으로 형변환

 

728x90
728x90
Comments