혜랑's STORY

[BOJ_C++] 5576번 : 콘테스트 본문

무지성 공부방/알고리즘 해결

[BOJ_C++] 5576번 : 콘테스트

hyerang0125 2021. 7. 20. 16:18

# 문제

# 풀이

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <algorithm>
#include <cstring>
#include <stack>
#include <vector>

using namespace std;

int search(int* x, int size) {
    int max = -999, i = 0, j = 0;

    while (j < size) {
        j = i + 1;
        while (x[j] == 0) j++;
        if (max < j - i) max = j - i;
        i = j;
    }
    if (i != j) {
        if (max < j - i) max = j - i;
    }
    return max;
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    int w[10], k[10];
    for (int i = 0; i < 10; i++) cin >> w[i]; sort(w, w + 10, greater<>());
    for (int i = 0; i < 10; i++) cin >> k[i]; sort(k, k + 10, greater<>());

    int w_sum = w[0] + w[1] + w[2];
    int k_sum = k[0] + k[1] + k[2];

    printf("%d %d", w_sum, k_sum);

    return 0;
}
  • w 대학의 10명 점수와 k 대학의 10명 점수를 순서대로 입력받은 후 sort() 함수를 사용하여 점수를 정렬한다.
  • 이때 sort() 함수의 3번째 파라미터로 greater<>()를 붙여주면 내림차순으로 정렬할 수 있다.
  • 내림차순으로 정렬하였기 때문에 각 배열의 0, 1, 2번째 값을 더하고 그 값을 출력한 뒤 프로그램을 종료한다.

# 결과