PS/백준

백준 / 구현 / 10824번 / 네 수 / C++

KimMinJun 2021. 7. 30. 22:18

문제

네 자연수 A, B, C, D가 주어진다. 이때, A와 B를 붙인 수와 C와 D를 붙인 수의 합을 구하는 프로그램을 작성하시오.

두 수 A와 B를 합치는 것은 A의 뒤에 B를 붙이는 것을 의미한다. 즉, 20과 30을 붙이면 2030이 된다.

입력

첫째 줄에 네 자연수 A, B, C, D가 주어진다. (1 ≤ A, B, C, D ≤ 1,000,000)

출력

A와 B를 붙인 수와 C와 D를 붙인 수의 합을 출력한다.

예제 입력 1 

10 20 30 40

예제 출력 1 

4060

 

#include <iostream>
#include <string>
using namespace std;

int main() {
    string a, b, c, d;
    string ab, cd;
    long long result;
    
    cin >> a >> b >> c >> d;
    ab = a + b;
    cd = c + d;
    
    result = stoll(ab) + stoll(cd);
    
    cout << result << endl;
    
    return 0;
}

형변환만 조심하면 어려울 것이 없다.

C++에선, 문자열끼리 + 연산으로 간단히 이어붙일 수 있다.

 

하지만 이어붙이고 나서 계산할때는 다시 정수형으로 바꿔주어야 하는데, 100만과 100만을 이어붙일시 int형의 범위가 넘어가기 때문에, long long 형으로 값을 받아주었다.

 

  • stoi = String TO Int
  • stoll = String TO Long Long
  • stod = String TO Double
  • stof = String TO Float