개발자의 기본기/알고리즘 문제

<백준 알고리즘> 10824번 네 수

Ilhoon 2020. 9. 26. 21:12
시간 제한메모리 제한제출정답맞은 사람정답 비율
1 초256 MB69152551214937.199%

문제

네 자연수 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



< 풀이과정 > 


문제를 자세히 살피지 않으면 런타임에러가 날 수 있다. (나도 처음에 그랬다...)

문제의 조건을 자세히 보면 각 수는 1,000,000 까지 입력이 가능하다. 

ABCD모두 1,000,000이 입력된 경우에는 2,000,000 * 2,000,000 = 4,000,000,000,000 까지 최대값이 나올 수 있다. 

따라서 알맞은 자료형을 사용해 줘야 한다. 

문자열을 숫자형으로 바꾸는 함수는 

int 형  = stoi 

float형 = stof 

double형 = stod

long long형 = stoll

.

.

.

즉 자료형의 앞글자를 따서 뒤에 붙여주면 된다. 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
using namespace std;
int main() {
    int a, b, c, d;
    cin >> a >> b >> c >> d;
 
    string s1 = to_string(a) + to_string(b); //a+b결합
    string s2 = to_string(c) + to_string(d); //c+d결합
 
    long long n1 = stoll(s1);
    long long n2 = stoll(s2);
 
    cout << n1 + n2 << '\n';
    return 0;
}
cs