반갑습니다!

[프로그래머스] 최댓값과 최솟값 본문

알고리즘 문제 풀이

[프로그래머스] 최댓값과 최솟값

김덜덜이 2020. 4. 9. 01:41
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr

풀이

문자열을 파싱하여 숫자배열로 변환하고 오름차순으로 정렬하여 해결하였다.

코드

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

vector<int> parseString(string s) {
    vector<int> ret;
    bool find = true;
    int idx = 0;
    for (int i = 0; i < s.length(); i++) {
        char c = s[i];
        if (c == ' ') {
            string tmp = s.substr(idx, i - idx);
            ret.push_back(stoi(tmp));
            find = false;
            idx = i + 1;
        }
        else {
            find = true;
        }
    }
    if (find) {
        string tmp = s.substr(idx, s.length() - idx);
        ret.push_back(stoi(tmp));
    }
    return ret;
}

string solution(string s) {
    string answer = "";
    vector<int> num = parseString(s);
    sort(num.begin(), num.end());
    answer += (to_string(num[0]) + " " + to_string(num[num.size() - 1]));
    return answer;
}