본문 바로가기

프로그래밍_백준/C++

(C++) 백준 2908 상수 문제 [sstream, stringstream()활용]

728x90
반응형

 

이번 문제는 값을 뒤집고, 그 수를 비교하는 문제입니다!

 

먼저 getline()으로 공백을 포함해서 값을 입력 받고

stream.str()로 공백을 기준으로 값을 나눕니다!

그 후 stringstream()을 이용해서 값을 추출합니다!

그리고 이 값을 뒤집은 후 값을 비교하여 출력하였습니다. 

 

#include<iostream>
#include<string>
#include<sstream>//stringstream의 헤더 파일입니다!
using namespace std;

int main()
{
	int a, bigger, r = 0, i = 0;
	int b[10] = {};//배열 선언
	string str;
	stringstream stream;

	getline(cin, str);

	stream.str(str); //공백을 기준으로 값 나누기
	while (stream >> a) {//문자열에서 원하는 자료형 추출 a가 int형이므로 int형 추출
		b[i] = a;
		for (int j = 0; j < 3; j++) {
			r *= 10;
			r = r+(b[i] % 10);
			b[i] /= 10;
		}//값 뒤집기
		b[i] = r;
		r = 0;
		i++;
	}
	bigger = ((b[0] > b[1]) ? b[0] : b[1]);
	cout << bigger;
}

 

728x90
반응형