프로그래머스의 최댓값과 최솟값(Lv2) 문제이다.


[ 문제풀이 ]

본인은 매개변수로 넘어오는 문자열을 단순 반복문을 통해서 하나하나 값을 구해서 비교해주었다.

이게 하나의 string형태로 값이 넘어오기 때문에 '-' 부분에 대한 처리와 ' ' 에 대한 처리가 필요하다.

이 부분에 대해서만 처리를 해주고 단순히 값을 비교하는 방식으로 구현하였다.


[ 소스코드 ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include<string>
#include<vector>
 
using namespace std;
 
string solution(string s)
{
    int Min_Value = 2e9;
    int Max_Value = -2e9;
    for (int i = 0; i < s.length(); )
    {
        if (s[i] == '-')
        {
            i++;
            string Temp = "";
            while (i < s.length() && s[i] != ' ')
            {
                Temp = Temp + s[i];
                i++;
            }
 
            int Num = stoi(Temp);
            Num = Num * -1;
            if (Num > Max_Value) Max_Value = Num;
            if (Num < Min_Value) Min_Value = Num;
            i++;
        }
        else
        {
            string Temp = "";
            while (i < s.length() && s[i] != ' ')
            {
                Temp = Temp + s[i];
                i++;
            }
 
            int Num = stoi(Temp);
            if (Num > Max_Value) Max_Value = Num;
            if (Num < Min_Value) Min_Value = Num;
            i++;
        }
    }
    string Min = to_string(Min_Value);
    string Max = to_string(Max_Value);
    string answer = Min + " " + Max;
    return answer;
}
cs


+ Recent posts