오답노트

프로그래머스 2단계 - 최댓값과 최솟값 본문

C,C++/코딩테스트

프로그래머스 2단계 - 최댓값과 최솟값

권멋져 2022. 6. 5. 21:36
https://programmers.co.kr/learn/courses/30/lessons/12939
 

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

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

programmers.co.kr

- 문제 파악

문자열에 공백으로 구분된 숫자들이 존재한다. 이 중 최소값과 최댓값을 출력하라

 

- 정답

숫자들에 범위가 정해져있지 않다. 문제를 대충 만든거 같은 느낌

 

#include "bits/stdc++.h"

using namespace std;

string solution(string s) {
    string answer = "";
    vector<int> vec;
    string str;
    
    for(int i = 0 ; i < s.size() ; i++)
    {
        if(s[i] == ' ')
        {
            vec.push_back(stoi(str));
            str = "";
        }
        else     
            str.push_back(s[i]);
    }
    
    if(!str.empty())
        vec.push_back(stoi(str));
    
    sort(vec.begin(),vec.end());
    
    answer = to_string(vec.front()) + " " + to_string(vec.back());
    
    return answer;
}