[프로그래머스] 최댓값과 최솟값
[프로그래머스] 최댓값과 최솟값
https://school.programmers.co.kr/learn/courses/30/lessons/12939
해결전략
string, stoi, atoi
코드
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(string s)
{
string answer = "";
string tmp = "";
vector<int> v;
for (int i = 0; i < s.size(); i++)
{
if (s[i] == ' ')
{
v.push_back(stoi(tmp));
tmp.clear();
}
else
{
tmp += s[i];
}
}
v.push_back(stoi(tmp));
minNum = *min_element(v.begin(), v.end());
maxNum = *max_element(v.begin(), v.end());
answer = to_string(minNum) + " " + to_string(maxNum);
return answer;
}
위의 코드에서는
#include <algorithm> 를 넣은 후
- *min_element(v.begin(), v.end());
- *max_element(v.begin(), v.end());
을 사용하여 최값과 최댓값을 구했다.
#include <algorithm> 헤더를 넣고
sort(v.begin(), v.end());
answer = to_string(v.front()) + " " + to_string(v.back());
위와 같이 오름차순 정렬을 한 후 첫번째 값과 마지막 값을 사용하여 최솟값과 최댓값을 넣을 수도 있다.
※ 주의할 점
int minNum = INT_MAX;
int maxNum = INT_MIN;
이유는 알 수 없지만 프로그래머스에서 INT_MAX, INT_MIN를 사용하면 정상적으로 통과되지 않는다.
코드 - 다른 풀이 방법
#include <string>
#include <vector>
#include <sstream>
#include <algorithm>
using namespace std;
string solution(string s)
{
string answer = "";
stringstream SS(s);
string tmp = "";
vector<int> v;
while (SS >> tmp)
{
v.push_back(stoi(tmp));
}
sort(v.begin(), v.end());
answer = to_string(v.front()) + " " + to_string(v.back());
return answer;
}
'⭐ 코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 C++] 숫자의 표현 (0) | 2023.08.12 |
---|---|
[프로그래머스] 이진 변환 반복하기 (0) | 2023.07.30 |
[프로그래머스] 최솟값 만들기 (0) | 2023.07.29 |
[프로그래머스] JadenCase 문자열 만들기 (0) | 2023.07.27 |
[프로그래머스] 정수 삼각형 (0) | 2023.07.20 |
댓글
이 글 공유하기
다른 글
-
[프로그래머스] 이진 변환 반복하기
[프로그래머스] 이진 변환 반복하기
2023.07.30 -
[프로그래머스] 최솟값 만들기
[프로그래머스] 최솟값 만들기
2023.07.29 -
[프로그래머스] JadenCase 문자열 만들기
[프로그래머스] JadenCase 문자열 만들기
2023.07.27 -
[프로그래머스] 정수 삼각형
[프로그래머스] 정수 삼각형
2023.07.20