본문 바로가기
코딩테스트_백준풀이

solved.ac #18110 c++ 풀이

by wanna_dev 2023. 10. 13.

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

 

18110번: solved.ac

5명의 15%는 0.75명으로, 이를 반올림하면 1명이다. 따라서 solved.ac는 가장 높은 난이도 의견과 가장 낮은 난이도 의견을 하나씩 제외하고, {5, 5, 7}에 대한 평균으로 문제 난이도를 결정한다.

www.acmicpc.net

집중력이 떨어질수록, 조건을 빼먹을 확률이 높아지는 것 같습니다. 의견이 없으면 0이라는 조건이 함정이었습니다.

 

 

문제 정답입니다.

전체의 위아래에 15프로의 round 값을 더한것부터 순회해서 15프로round를 뺀값까지의 평균을 구하는 문제입니다.

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



vector<int> list;


int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int N;  // 의견의 개수 
	cin >> N;
	if (N == 0)
	{
		cout << 0;
		return 0;
	}
	double temp = N * 15 / 100.;
	int n;
	n = round(temp);
	//cout <<"n : " << n << endl;
	for (int i = 0; i < N; i++) {
		int temp;
		cin >> temp;
		list.push_back(temp);
	}
	double sum = 0; 
	int cnt = 0; 
	sort(list.begin(), list.end());
	for (int i = 0 + n; i < N - n; i++) {
		//cout << list[i] << endl;
		sum += list[i];
		cnt++;
	}
	int answer = round(sum / cnt);
	cout << answer << '\n';
}

 

'코딩테스트_백준풀이' 카테고리의 다른 글

Z #1074 c++ 풀이  (0) 2023.10.23
피보나치 함수 #1003 c++ 풀이  (1) 2023.10.23
좌표 정렬하기 #11650 c++ 풀이  (0) 2023.10.13
숫자 카드 2 #10816 c++ 풀이  (1) 2023.10.13
덱 #10866 c++ 풀이  (1) 2023.10.13