문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.
s | return | |
---|---|---|
"1 2 3 4" | "1 4" | |
"-1 -2 -3 -4" | "-4 -1" | |
"-1 -1" | "-1 -1" |
공백으로 수를 구분해서 vector에 차례대로 넣어준다.
오름차순으로 정렬해준다.
오름차순으로 정렬하면 맨 앞은 최솟값, 맨 뒤는 최댓값이 되기 때문에 font와 back으로 값을 찾는다.
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(string s) {
string answer = "";
string tmp = "";
vector<int> v;
for(int i = 0; i < s.size(); ++i) {
if(s[i] == ' ') {
v.push_back(stoi(tmp));
tmp = "";
}
else{
tmp += s[i];
}
}
v.push_back(stoi(tmp));
sort(v.begin(), v.end());
answer = to_string(v.front()) + " " + to_string(v.back());
return answer;
}