프로그래머스 - 최댓값과 최솟값(c++)
IT/알고리즘

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

반응형

문제 설명

문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 (최소값) (최대값)형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 1 2 3 4라면 1 4를 리턴하고, -1 -2 -3 -4라면 -4 -1을 리턴하면 됩니다.

제한 조건

  • s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.

 

입출력 예

 

풀이

#include <string>
#include <vector>
#include <sstream>
using namespace std;

vector<string> split(string str, char delimiter) {
    stringstream ss(str);
    string tmp;
    vector<string> v;
 
    while (getline(ss, tmp, delimiter)) {
        v.push_back(tmp);
    }
 
    return v;
}

string solution(string s) {
    vector<string> v = split(s, ' ');
    int min = stoi(v[0]);
    int max = stoi(v[0]);
    
    for(int i=1; i<v.size(); i++){
        int num = stoi(v[i]);
        if(num < min) min = num;
        if(num > max) max = num;
    }
    
    return to_string(min) + " " + to_string(max);
}
반응형