알고리즘
[SWEA] 18799. 평균의 평균
minbear
2023. 11. 20. 21:16
#18799. 평균의 평균
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
#풀이
부분집합의 평균을 구하는 문제이다.
정말 쉽게 해결할 수 있는 문제이다.
{1,2,3} 의 부분집합
{1}, {2}, {3}, {1,2}, {1,3}, {2,3} -> 1:3개, 2:3개, 3:3개
{1,2,3,4}의 부분집합
{1}, {2}, {3}, {4}, {1,2}, {1,3}, {1,4}, {2,3}, {2,4}, {1,2,3}, {1,2,4}, {1,3,4}, {2,3,4} -> 1: 7개, 2: 7개, 3 : 7개, 4: 7개
이렇듯 부분집합 평균들의 평균은 집합의 평균과 같다는 것을 알 수 있다.
그래서 집합의 평균을 구하여 출력하면 되는 문제이다
#코드
#include<iostream>
#include<vector>
using namespace std;
int main(int argc, char** argv)
{
int test_case;
int T;
cin>>T;
for(test_case = 1; test_case <= T; ++test_case)
{
int n;
int ans = 0;
double ans2 = 0;
cin >> n;
int sum = 0;
for(int i= 0; i < n; i++){
int num;
cin >> num;
sum+= num;
}
ans = sum / n;
ans2 = (double)sum / n - ans;
if(ans2 == 0)
cout << '#' << test_case << ' ' << ans << '\n';
else{
cout << '#' << test_case << ' ';
printf("%.20lf\n", ans2+ans);
}
}
return 0;//정상종료시 반드시 0을 리턴해야합니다.
}