본문 바로가기
알고리즘

[알고리즘] 최댓값과 최솟값

by keel_im 2020. 9. 23.
반응형

포인트

1. 문자열 다루기

2. 문자열로 계속 저장하다가 공백 나오면 벡터의 넣고, 마지막 값 그냥 넣기

 

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

using namespace std;

string solution(string s) {
    string answer = "";
    vector<int> vc;
    for (int i = 0; i < s.size(); i++) {
        if(s[i]==' '){
            vc.push_back(stoi(answer));
            answer.clear();
        }
        answer.push_back(s[i]);
    }
    vc.push_back(stoi(answer)); // 마지막 값

    int min_value = *min_element(vc.begin(), vc.end());
    int max_value = *max_element(vc.begin(), vc.end());

    
    return to_string(min_value)+ " "+to_string(max_value);
}

 

2020 12 04

수정사항 비슷한 로직이긴 하지만 끝자리에 '\n' 표시하면 붙임으로서

조금 더 깔끔한 느낌이 든다.

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

using namespace std;

string solution(string s) {
    string answer = "";
    vector<int> vc;
    s+='\n';
    for (int i = 0; i < s.size(); i++) {
        if(s[i]==' '||s[i]=='\n'){
            vc.push_back(stoi(answer));
            answer.clear();
        }
        answer.push_back(s[i]);
    }

    int min_value = *min_element(vc.begin(), vc.end());
    int max_value = *max_element(vc.begin(), vc.end());

    return to_string(min_value)+ " "+to_string(max_value);
}

python

def solution(s):
    a = list(map(int, s.split(' ')))
    
    min_value, max_value = str(min(a)), str(max(a))
    b =[min_value, max_value]
    
    return ' '.join(b)
반응형

댓글