프로그래머스 Lv.2에 있는 "최댓값과 최솟값" 문제에 대한 풀이 및 탐구에 대한 기록.
정답률: 79%
목 차
문제 분석
Input:
- s: 공백으로 구분된 숫자들을 가진 문자열.
Output:
- anwer: (최솟값) + " " + (최댓값)
문자열을 받아 최소, 최대를 출력하기.
문제 풀이
초안
#include <string>
#include <vector>
#include <sstream>
using namespace std;
string solution(string s) {
vector<int> intArr;
stringstream ss(s);
string token;
while (getline(ss, token, ' ')) {
intArr.push_back(stoi(token));
}
int max = intArr[0];
int min = intArr[0];
for (int num : intArr) {
if (max < num) max = num;
if (min > num) min = num;
}
string answer = to_string(min) + " " + to_string(max);
return answer;
}
느낀 점
이번 답안은 다른 사람의 풀이와 챗GPT를 통틀어 돌아봤을 때, 굳이 수정할 필요를 느끼지 못했다. 여기서 더 개선할 여지가 있다면 algorithm 을 include하는 방식도 있겠지만, 이것은 알고리즘 라이브러리 의존성을 낮추고 스스로 연습하기 위해 일부러 제외한 것이다.
'Software Engineering > Algorithm' 카테고리의 다른 글
[BaekJoon Bronze1] C++: 크레이지 타임 (0) | 2024.09.09 |
---|---|
[BaekJoon Bronze2] C++: 블랙잭 (1) | 2024.09.08 |
[Programmers Lv. 1] C++: 가장 많이 받은 선물 (0) | 2024.09.01 |
[Programmers Lv. 1] C#: 성격 유형 검사하기 (2) | 2024.08.30 |
[Programmers Lv. 1] C++: 로또의 최고 순위와 최저 순위 (0) | 2024.08.28 |