문자열에서 최솟값과 최대값을 구하는 문제이다.
java는 split메소드가 있는데 c++에는 없다...그게 좀 아쉽다.
어쨋든 문자열에서 각 정수의 구분은 ' '로 하기 때문에 ' '을 만나기 전까지 문자를 이어 붙인 다음에 ' '을 만나면 vector에 넣는다.
마지막에는 ' '가 없기 때문에 임의로 넣어준다.
이 문제를 처음 풀때는 좀 노가다로 했는데, stoi("-3")이 -3이 되는 줄 몰랐다. 알앗으면 빨리 풀었을 텐데....
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(string s) {
string answer = "";
string temp="";
vector<int> v;
for(char c : s){
if(c== ' '){
v.push_back(stoi(temp));
temp.clear();
continue;
}
temp+=c;
}
v.push_back(stoi(temp));
sort(v.begin(),v.end());
answer+=to_string(v.front());
answer+=" ";
answer+=to_string(v.back());
return answer;
}
'알고리즘 문제' 카테고리의 다른 글
[알고리즘문제] 프로그래머스 - 정수 삼각형 (0) | 2020.01.16 |
---|---|
[알고리즘문제] 프로그래머스 - 피보나치 수 (0) | 2020.01.06 |
[알고리즘문제] 프로그래머스 - 숫자의 표현 (0) | 2020.01.06 |
[알고리즘문제] 프로그래머스 - 다음 큰 숫자 (0) | 2020.01.04 |
[알고리즘문제] 프로그래머스 - 카펫 (0) | 2020.01.03 |