본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 4909 : Judging Olympia

반응형

https://www.acmicpc.net/problem/4909

 

4909번: Judging Olympia

For years, a group of Regional Contest Directors (RCDs) of the ACM International Collegiate Programming Contest (ICPC) have been unsatisfied with the way contest submissions get ranked. The group sees it is academically wrong to emphasize the importance of

www.acmicpc.net

구현 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

일차원 배열 grades를 선언합니다. 이 후 while loop를 수행하며 배열에 값을 입력해줍니다.

📔 풀이과정

 1. 배열의 모든 값이 0이라면 break해줍니다. 2. 배열의 원소들을 오름차순으로 정렬해줍니다. 3. 지역변수 sum을 선언 후 0으로 초기화해줍니다. 4. 배열의 첫 번째, 여섯 번째 원소를 제외하고 sum에 더해줍니다.

📔 정답출력

2개원소가 빠졌으니 sum / 4를 출력해줍니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;

int grades[6];

bool isAllZero(){
    for(int i = 0; i < 6; i++)
        if(grades[i]) return false;
    return true;
}

int main(){
    while(1){
        for(int i = 0; i < 6; i++) cin >> grades[i];
        if(isAllZero()) break;
        sort(grades, grades + 6);
        double sum = 0;
        for(int i = 1; i < 5; i++) sum += grades[i];
        cout << sum / 4 << '\n';
    }
}