최대 1 분 소요

Question

Q


Solution

  • string s에 대하여 for 루프 iterator로 하나씩 확인한다. (it 사용 이유는 뒤에)
    공백이 아닐땐 string temp에 부호 또는 숫자를 넣는다.
    공백이면 temp를 int로 바꾸는 stoi로 vector에 push_back()한다. it이 end에 도달하면 temp에 담긴 문자를 vector에 넣을 수 있도록 if문을 추가시키고 해당 for문을 break 시킨다.
    (it이 아닌 인덱스를 사용할 경우는 for문 바로 다음에 temp를 vector에 넣는 구문 추가 할 것)

  • min_element()와 max_element()를 이용하여 최소 최대를 구하고 string으로 변환 후 answer에 넣는다.


Cord

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

string solution(string s) 
{
    string answer = "";
    vector<int> data;

    string temp = "";
    for (auto it = s.begin(); ; it++)
    {
       // it이 end에 도달하면 temp를 data에 넣고 끝내기
        if (it == s.end())
        {
            data.push_back(stoi(temp));
            temp = "";
            break;
        }

        // 공백이면 data에 넣고 temp 초기화
        if (*it == ' ')
        {
            data.push_back(stoi(temp));
            temp = "";
        }
        else    // 공백이 아니면 temp에 넣기
        {
            temp += *it;
        }
    }

    // 최대, 최소 찾기
    string min = to_string(*min_element(data.begin(), data.end()));
    string max = to_string(*max_element(data.begin(), data.end()));

    answer += min;
    answer += ' ';
    answer += max;

    return answer;
}

Result

Result