컴굥일지

[BOJ/백준 9076][C++] 점수 집계 본문

알고리즘/코테 문제

[BOJ/백준 9076][C++] 점수 집계

gyong 2022. 3. 24. 21:56
반응형

문제

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

백준 9076

 

문제 내용

심판 5명의 점수가 주어진다.

이때 최고점과 최저점의 점수를 제외한 심판 3명의 점수 중, 최고점과 최저점의 차이가 4 이상이면 "KIN"을 출력한다.

그렇지 않으면 심판 3명의 점수의 합계를 출력하면 된다.

 

문제 풀이

심판 5명의 점수를 입력받은 뒤 정렬을 진행한다.

이후, 0번과 4번 인덱스는 각각 최저점과 최고점이니 배제하고 생각한다.

4번 인덱스와 1번 인덱스의 차가 4 이상이면 "KIN"을 출력하고 다음 테스트 케이스로 넘어간다.

그렇지 않다면 인덱스 1~3까지의 합을 더하고 출력하면 된다.

 

코드

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

int main() {
    //입력
    int n;
    cin >> n;
    for (int i = 0; i < n; i++) {
        vector<int> v(5);
        for (int j = 0; j < 5; j++) cin >> v[j];


        //문제 해결
        sort(v.begin(), v.end());

        if (v[3] - v[1] >= 4) {
            cout << "KIN\n";
            continue;
        }
        int ssum = 0;
        for (int j = 1; j < 4; j++) ssum += v[j];
        cout << ssum << '\n';
    }
}

반응형
Comments