N

(프로그래머스 c++)최댓값과 최솟값 본문

프로그래머스 알고리즘/2단계

(프로그래머스 c++)최댓값과 최솟값

naeunchan 2020. 5. 22. 09:18
728x90
반응형

문자열로 들어온 값 중에서 최댓값과  최솟값을 찾아야 한다.

우선 문자열을 int 형태로 바꿔줘야 한다.

그리고 공백 문자를 제외하고 숫자만 가져와야 하기 때문에 token을 이용하여 문자열을 나누었다.

 

for문이 token을 이용하여 공백을 제외하고 숫자만 받아와 int 형태로 v벡터에 넣어주고 있는 부분이다.

모든 숫자를 가져왔으면 sort()를 통해 오름차순으로 정렬을 해준다.

그러면 v.front()는 최솟값, v.back()은 최댓값이 되므로 to_string()으로 int를 string형태로 바꿔주고 알맞게

answer에 넣어주면 끝..!

#include <string>
#include <vector>
#include <algorithm>
#include <sstream>
#include <iostream>

using namespace std;

string solution(string s) {
    string answer = "", token = "";
    vector<int> v;
    int min = 0, max = 0;
    
    for(stringstream str(s); str >> token;)
        v.push_back(stoi(token));
    sort(v.begin(), v.end());
    
    answer += to_string(v.front()) + ' ' + to_string(v.back());
    return answer;
}
728x90
반응형