알고리즘

[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을 리턴해야합니다.
}