알고리즘

[HackerRank] Plus Minus

haesa_s 2021. 11. 5. 18:18

# Plus Minus (Warmup)

[문제]

 

[코드]

void plusMinus(vector<int> arr) {
    double plus = 0;
    double minus = 0;
    double zero = 0;
    set<int> sorted;
    
    for(int i = 0; i < arr.size(); i++)
    {
        if(arr[i] > 0) plus++;
        else if(arr[i] < 0) minus++;
        else zero++;
    }
    plus /= arr.size();
    minus /= arr.size();
    zero /= arr.size();
    
    cout << fixed;
    cout.precision(6);
    cout << plus << endl;
    cout << minus << endl;
    cout << zero << endl;
}

 

[코드설명]

배열 원소들의 양수, 음수, 0의 비율을 구하는 문제다.    (단, 소수점 아래 6자리까지 구해야함.)

if-else if로 arr의 원소들이 양수, 음수, 0일 때를 분기해서 각각의 개수를 구하고, arr의 크기로 나눴다.

각 결과는 소수점 아래 6자리까지 구해야하기 때문에 fixed로 소수점을 고정시켜 출력하도록하고, 소수점 아래 자릿수는 precision(6)으로 6자리까지 나오도록 설정했다.

 

[채점 결과]