프로그래머스 최댓값과 최솟값 -C++(sstream이용)

JangGwon·2022년 12월 7일
0

문제설명


내 풀이

프로그래머스 LV2 문제들을 둘러보던 도중 '최댓값과 최솟값'이라는 LV0에서 볼 듯 한 문제 이름이 포착되었다.
그래서 마치 올려치기 당한거같은 이 문제를 확인해본 결과 단순히 정수 값을 max, min 함수를 사용하는 문제는 아니였고, input값을 문자열로 받고 그 문자열을 공백을 기준으로 숫자들을 자른 후 나눠진 숫자들의 최댓,최솟값을 찾는 문제였다.
이번 문제는 단순히 반복문과 to_string()함수를 사용하는 방법 말고 stringstream 사용하여 문제를 풀어봤다.

Stringstream

C++에서 stringstream은 주어진 문자열에서 필요한 자료형에 맞는 정보를 꺼낼 때 유용하게 사용된다.
문자열을 공백과 '\n'을 기준으로 여러 개의 다른 형식으로 차례대로 분리할 때 편리하다.



코드

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

using namespace std;

string solution(string s) {
    string answer = "";
    
    stringstream ss(s);
    string temp;
    int mins = 2141111111;
    int maxs = -2141111111;
    
    while(ss >> temp)
    {
        maxs = max(stoi(temp),maxs);
        mins = min(stoi(temp),mins);
    }
    answer += to_string(mins) + " " + to_string(maxs);
    return answer;
}

0개의 댓글