문제
네 자연수 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
'PS > 백준' 카테고리의 다른 글
백준 / 수학 / 2609번 / 최대공약수와 최소공배수 / C++ (0) | 2021.08.01 |
---|---|
백준 / 문자열 / 11656번 / 접미사 배열 / C++ (0) | 2021.08.01 |
백준 / 문자열 / 11655번 / ROT13 / C++ (0) | 2021.07.30 |
백준 / 문자열 / 10820번 / 문자열 분석 / C++ (0) | 2021.07.26 |