#유코딩 코딩연습장

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

# 프로그래머스 - 알고리즘/프로그래머스 2단계를 풀어보자

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

YooCoding 2021. 5. 10. 18:58

programmers.co.kr/learn/courses/30/lessons/12939#

 

코딩테스트 연습 - 최댓값과 최솟값

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

programmers.co.kr

 

 

문제 설명

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

제한 조건

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

입출력 예

sreturn

"1 2 3 4" "1 4"
"-1 -2 -3 -4" "-4 -1"
"-1 -1" "-1 -1"

 

 

#include <vector>
#include <algorithm>
#include <string>
using namespace std;
string solution(string s)
{
    string answer = "";
    vector<int> array;
    string temp;
    for (int i = 0; i < s.size(); i++)
    {
        temp += s[i];
        if (s[i] == ' ' || i == s.size() - 1)
        {
            array.push_back( stoi(temp) );
            temp = "";
        }
    }
    sort(array.begin(), array.end());
    answer += to_string(array[0]) + " " + to_string(array.back());
    return answer;
}
Comments