숨막히는 알고말고/문제 풀이

[SWEA] 중간 평균값 구하기(Difficulty 2)

숨숨숨 2021. 1. 18. 20:19

👀 문제 설명

문제

로그인해야 문제를 볼 수 있다

✍🏻풀이

입력받은 10개의 수를 vector에 넣고, 정렬한 후, 인덱스 1부터 8까지만 접근한다 (최댓값, 최솟값 빼기 위함)

인덱스 1~8까지의 숫자로 평균값을 구하면 된다.

 

double round(double num) 함수는 반올림 함수이다.

이 함수를 사용하여 소수점 첫째 자리에서 반올림한 정수를 출력해준다.

 

코드

#include <stdio.h>
#include <iostream>
#include <vector>

using namespace std;

int main() {
    int t;
    cin >> t;
    
    vector<int> answer;
    for (int i = 1; i <= t; i++) {
        vector<int> t_case;
        
        for (int j = 0; j < 10; j++) {
            int num;
            cin >> num;
            
            t_case.push_back(num);
        }
        
        sort(t_case.begin(), t_case.end());
        
        double sum = 0;
        for (int j = 1; j <= 8; j++) {
            sum += t_case.at(j);
        }
        
        int round_num = round(sum / 8);
        answer.push_back(round_num);
    }
    
    for (int i = 0; i < answer.size(); i++) {
        cout << "#" << (i + 1) << " ";
        cout << answer.at(i) << endl;
    }
    
    return 0;