๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[BAEKJOON C++] 10984_๋‚ด ํ•™์ ์„ ๊ตฌํ•ด์ค˜ ๋ณธ๋ฌธ

๐Ÿฆฅ ์ฝ”ํ…Œ/BAEKJOON

[BAEKJOON C++] 10984_๋‚ด ํ•™์ ์„ ๊ตฌํ•ด์ค˜

์ง•์ง•์•ŒํŒŒ์นด 2023. 7. 2. 15:40
728x90
๋ฐ˜์‘ํ˜•
cout.precision(n)์˜ ๊ฒฝ์šฐ ์†Œ์ˆ˜์  n์˜ ์ž๋ฆฌ ์ˆ˜๊นŒ์ง€ ๋ฐ˜์˜ฌ๋ฆผํ•˜์—ฌ ์ถœ๋ ฅํ•ด์ฃผ๋Š” ์ฝ”๋“œ
์ž์‹ ์˜ ํ•™์  ํ‰๊ท ์ด ์–ผ๋งˆ์ผ์ง€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค. 
ํ•™์‚ฌ์‹œ์Šคํ…œ๋„ ๋“ค์–ด๊ฐ€๊ธฐ ๊ท€์ฐฎ์•„ํ•˜๋Š” ๊ทผ์šฐ๋ฅผ ์œ„ํ•ด ๊ตฌํ•ด์ฃผ๋„๋ก ํ•˜์ž

์ž…๋ ฅ
์ฒซ ๋ฒˆ์งธ ์ค„์— ํ•™๊ธฐ์˜ ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. 
๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ T๊ฐœ ํ•™๊ธฐ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.
๊ฐ ํ•™๊ธฐ์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. 
์ฒซ ๋ฒˆ์งธ ์ค„์— ๋“ค์—ˆ๋˜ ๊ณผ๋ชฉ์˜ ์ˆ˜ N์ด ์ฃผ์–ด์ง€๊ณ , 
๋‹ค์Œ N๊ฐœ ์ค„์— ๊ฑธ์ณ์„œ N๊ฐœ ๊ณผ๋ชฉ๋“ค์˜ ํ•™์  C์™€ ์„ฑ์  G
(1 ≤ N ≤ 10, 1 ≤ C ≤ 6, C๋Š” ์ •์ˆ˜)
G๋Š” {0, 0.7, 1, 1.3, 1.7, 2, 2.3, 2.7, 3, 3.3, 3.7, 4, 4.3} ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ 
์†Œ์ˆ˜ ๋ถ€๋ถ„์€ ์ตœ๋Œ€ ํ•œ ์ž๋ฆฌ๊นŒ์ง€ ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ
๊ฐ ํ•™๊ธฐ์— ๋Œ€ํ•ด ๊ทผ์šฐ์˜ ์ด ํ•™์ ๊ณผ ํ‰์ (GPA)์„ ์ถœ๋ ฅ
์ •๋‹ต๊ณผ์˜ ์ ˆ๋Œ€ ์˜ค์ฐจ๋Š” 10^1๊นŒ์ง€ ํ—ˆ์šฉํ•œ๋‹ค
// [10984] ๋‚ด ํ•™์ ์„ ๊ตฌํ•ด์ค˜

/*
์ž์‹ ์˜ ํ•™์  ํ‰๊ท ์ด ์–ผ๋งˆ์ผ์ง€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค. 
ํ•™์‚ฌ์‹œ์Šคํ…œ๋„ ๋“ค์–ด๊ฐ€๊ธฐ ๊ท€์ฐฎ์•„ํ•˜๋Š” ๊ทผ์šฐ๋ฅผ ์œ„ํ•ด ๊ตฌํ•ด์ฃผ๋„๋ก ํ•˜์ž

์ž…๋ ฅ
์ฒซ ๋ฒˆ์งธ ์ค„์— ํ•™๊ธฐ์˜ ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. 
๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ T๊ฐœ ํ•™๊ธฐ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.
๊ฐ ํ•™๊ธฐ์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. 
์ฒซ ๋ฒˆ์งธ ์ค„์— ๋“ค์—ˆ๋˜ ๊ณผ๋ชฉ์˜ ์ˆ˜ N์ด ์ฃผ์–ด์ง€๊ณ , 
๋‹ค์Œ N๊ฐœ ์ค„์— ๊ฑธ์ณ์„œ N๊ฐœ ๊ณผ๋ชฉ๋“ค์˜ ํ•™์  C์™€ ์„ฑ์  G
(1 ≤ N ≤ 10, 1 ≤ C ≤ 6, C๋Š” ์ •์ˆ˜)
G๋Š” {0, 0.7, 1, 1.3, 1.7, 2, 2.3, 2.7, 3, 3.3, 3.7, 4, 4.3} ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ 
์†Œ์ˆ˜ ๋ถ€๋ถ„์€ ์ตœ๋Œ€ ํ•œ ์ž๋ฆฌ๊นŒ์ง€ ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ
๊ฐ ํ•™๊ธฐ์— ๋Œ€ํ•ด ๊ทผ์šฐ์˜ ์ด ํ•™์ ๊ณผ ํ‰์ (GPA)์„ ์ถœ๋ ฅ
์ •๋‹ต๊ณผ์˜ ์ ˆ๋Œ€ ์˜ค์ฐจ๋Š” 10^1๊นŒ์ง€ ํ—ˆ์šฉํ•œ๋‹ค
*/

// ํ‘œ์ค€ ์ŠคํŠธ๋ฆผ์—์„œ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ๋ฅผ ์ œ์–ดํ•˜๋Š” ๊ฐœ์ฒด๋ฅผ ์„ ์–ธ
#include <iostream>
#include <vector>
using namespace std;

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

	// ํ•™๊ธฐ ์ˆ˜
	int n;
	cin >> n;

	// ์†Œ์ˆ˜์  n์˜ ์ž๋ฆฟ์ˆ˜๊นŒ์ง€ ๋ฐ˜์˜ฌ๋ฆผ
	cout << fixed;
	cout.precision(1);

	while (n--) {
		// ์ˆ˜์—… ๊ฐœ์ˆ˜
		int num;
		cin >> num;
		// ํ•™์ ๊ณผ ์„ฑ์ 
		vector<pair<int, float>>grade(num);
		int sum = 0;
		float average = 0;

		for (int i = 0; i < num; i++) {
			cin >> grade[i].first >> grade[i].second;
		}
		for (int i = 0; i < num; i++) {
			sum += grade[i].first;
			average += grade[i].first * grade[i].second;
		}
		cout << sum << " " << average / sum << "\n";
	}
	return 0;
}

728x90
๋ฐ˜์‘ํ˜•
Comments