Algorithm/BOJ
[C/C++] 백준 18110번 - solved.ac
poopooreum
2024. 4. 20. 17:18
반응형
✏️문제 링크
https://www.acmicpc.net/problem/18110
18110번: solved.ac
5명의 15%는 0.75명으로, 이를 반올림하면 1명이다. 따라서 solved.ac는 가장 높은 난이도 의견과 가장 낮은 난이도 의견을 하나씩 제외하고, {5, 5, 7}에 대한 평균으로 문제 난이도를 결정한다.
www.acmicpc.net
✏️문제 설명
✏️문제 코드
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n;
int res = 0;
// 난이도 의견 개수 입력
cin >> n;
// 난이도 의견 개수가 0이면 0을 반환
if (n == 0)
{
cout << res;
return 0;
}
// 난이도 의견 입력
vector<int> numbers(n);
for (int i = 0; i < n; i++)
cin >> numbers[i];
// 난이도 정렬
sort(numbers.begin(), numbers.end());
// 절사평균으로 제외하는 의견 수 계산
int idx = round(n * 0.15);
double sum = 0;
// 절사평균으로 제외하고 난 뒤 의견들 총합 계산
for (int i = idx; i < n - idx; i++)
sum += numbers[i];
// 평균 계산(반올림)
res = round(sum / (n - idx * 2));
// 최종 답 반환
cout << res;
}
반응형