본문 바로가기

문과 코린이의, [C. C++] 기록/C++ 백준 문제풀이

[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 네 수 (10824)

반응형

[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 네 수 (10824)

[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 네 수 (10824)

 


 

 

10824번: 네 수

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

www.acmicpc.net

[ 문제 ]

네 자연수 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를 붙인 수의 합을 출력한다.

 


[ 코드 ]

[ 정수를 문자열로 바꾸는 법 ]

- to_string 함수 사용

 

[ 문자열을 정수로 바꾸는 법 ]

- string을 문자로 바꾸려면 stoi, stol, stoll 등등의 함수를 사용하면 된다.

stoi:string -> int

stol:string -> long

stoll:string -> long long

stof:string -> float

stod:string -> double

stold:string -> long double

stoul:stirng ->unsigned long

stoull:string -> unsigned long long

#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); // 정수를 문자열로
	string s2 = to_string(C) + to_string(D);

	// A와 B를 붙이면 10,000,001,000,000이므로 long long 사용
	long long l1 = stoll(s1); // stoll은 string을 정수로 바꾸는 함수
	long long l2 = stoll(s2); 

	cout << l1 + l2;
	return 0;
}
반응형