관리 메뉴

cococo-coding

2587번. 대표값2 (c++풀이) 본문

[BOJ] 코드 모음/C++_learning 문제집

2587번. 대표값2 (c++풀이)

_dani 2023. 12. 13. 16:44

최종코드

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    //1. 다섯 개의 자연수를 입력받는다.
    //2. 평균과 중앙값을 구한다.
    //3. 평균과 중앙값을 출력한다.

    //1
    int num[5] = { 0, }, sum = 0; 
    for (int i = 0; i < 5; i++) {
        cin >> num[i];
        sum += num[i];
    }

    //2
    int aver = 0, mid = 0; 
    //평균 구하기
    aver = sum / 5;
    //중앙값 구하기
    sort(num, num + 5);
    mid = num[2];

    //3
    cout << aver << endl << mid;
    
    return 0;
}

평균은 구하기 쉽지만 중앙값을 어떻게 구할지 고민을 했었다.

최근에 sort를 알게 되고, 이를 이용하면 쉽게 풀릴 것 같아 위와 같이 코드를 짰다.

 

우선 다섯 개의 자연수를 배열로 입력받았고, 

평균은 입력받는 즉시 sum에 누적시키고 후에 5로 나누어주었다.

중앙값은 sort함수를 이용해 배열을 오름차순으로 정렬시킨 후에, 중앙에 있는 num[2]를 그대로 중앙값에 넣어주었다.

 

2023.12.13