https://school.programmers.co.kr/learn/courses/30/lessons/12939
stringstream을 이용하여 파싱하였다. vector에 옮겨 담은 뒤 sort하고 맨 앞과 맨 뒤를 string으로 변환하여 answer에 넣었다.
#include <string>
#include <vector>
#include <sstream>
#include <algorithm>
using namespace std;
string solution(string s) {
string answer = "";
stringstream ss;
ss.str(s);
vector<int> vec;
int num;
while(ss)
{
ss >> num;
vec.push_back(num);
}
sort(vec.begin(),vec.end());
answer += to_string(vec.front()) + ' ';
answer += to_string(vec.back());
return answer;
}
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(string s) {
string answer = "";
string sTemp = "";
vector<int> vecInteger;
for (int i = 0; i < s.size(); i++)
{
if (s[i] == ' ')
{
vecInteger.push_back(stoi(sTemp));
sTemp.clear();
continue;
}
sTemp += s[i];
}
vecInteger.push_back(stoi(sTemp));
sort(vecInteger.begin(), vecInteger.end());
answer += to_string(vecInteger.front());
answer += ' ';
answer += to_string(vecInteger.back());
return answer;
}
//////////////////////////////////////////
#include <string>
#include <vector>
#include <sstream>
#include <algorithm>
using namespace std;
string solution(string s) {
string answer = "";
string token;
istringstream iss(s);
vector<int> num;
while(getline(iss, token, ' '))
{
num.push_back(stoi(token));
}
sort(num.begin(), num.end());
answer = to_string(num.front()) + " " + to_string(num.back());
return answer;
}
string을 한글자씩 분해하면서 파싱하는 방법의 정답도 있고
istringstream을 사용한 파싱도 있다. getline -> 공백 대신 다른 글자를 기준으로 파싱도 가능