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

[BAEKJOON C++] 2822_์ ์ˆ˜ ๊ณ„์‚ฐ ๋ณธ๋ฌธ

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

[BAEKJOON C++] 2822_์ ์ˆ˜ ๊ณ„์‚ฐ

์ง•์ง•์•ŒํŒŒ์นด 2023. 8. 14. 00:41
728x90
๋ฐ˜์‘ํ˜•
์ƒ๊ทผ์ด๋Š” ํ€ด์ฆˆ์‡ผ์˜ PD์ด๋‹ค. 
์ด ํ€ด์ฆˆ์‡ผ์˜ ์ฐธ๊ฐ€์ž๋Š” ์ด 8๊ฐœ ๋ฌธ์ œ๋ฅผ ํ‘ผ๋‹ค. 
์ฐธ๊ฐ€์ž๋Š” ๊ฐ ๋ฌธ์ œ๋ฅผ ํ’€๊ณ , ๊ทธ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ์„ ๋•Œ ์–ป๋Š” ์ ์ˆ˜๋Š” ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์‹œ์ž‘ํ•œ ์‹œ๊ฐ„๋ถ€ํ„ฐ 
๊ฒฝ๊ณผํ•œ ์‹œ๊ฐ„๊ณผ ๋‚œ์ด๋„๋กœ ๊ฒฐ์ •ํ•œ๋‹ค. 

๋ฌธ์ œ๋ฅผ ํ’€์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ์—๋Š” 0์ ์„ ๋ฐ›๋Š”๋‹ค. 
์ฐธ๊ฐ€์ž์˜ ์ด ์ ์ˆ˜๋Š” ๊ฐ€์žฅ ๋†’์€ ์ ์ˆ˜ 5๊ฐœ์˜ ํ•ฉ์ด๋‹ค.

์ž…๋ ฅ
8๊ฐœ ์ค„์— ๊ฑธ์ณ์„œ ๊ฐ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ฐธ๊ฐ€์ž์˜ ์ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. 
์ ์ˆ˜๋Š” 0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 150๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. 
๋ชจ๋“  ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ ์ˆ˜๋Š” ์„œ๋กœ ๋‹ค๋ฅด๋‹ค. 
์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ์ˆœ์„œ๋Œ€๋กœ 1๋ฒˆ ๋ฌธ์ œ, 2๋ฒˆ ๋ฌธ์ œ, ... 8๋ฒˆ ๋ฌธ์ œ์ด๋‹ค.

์ถœ๋ ฅ
์ฒซ์งธ ์ค„์— ์ฐธ๊ฐ€์ž์˜ ์ด์ ์„ ์ถœ๋ ฅํ•œ๋‹ค. 
๋‘˜์งธ ์ค„์—๋Š” ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ์ตœ์ข… ์ ์ˆ˜์— ํฌํ•จ๋˜๋Š”์ง€๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ถœ๋ ฅํ•œ๋‹ค. 
์ถœ๋ ฅ์€ ๋ฌธ์ œ ๋ฒˆํ˜ธ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ์ด์–ด์•ผ ํ•œ๋‹ค.
// [2822] ์ ์ˆ˜ ๊ณ„์‚ฐ

/*
์ƒ๊ทผ์ด๋Š” ํ€ด์ฆˆ์‡ผ์˜ PD์ด๋‹ค. 
์ด ํ€ด์ฆˆ์‡ผ์˜ ์ฐธ๊ฐ€์ž๋Š” ์ด 8๊ฐœ ๋ฌธ์ œ๋ฅผ ํ‘ผ๋‹ค. 
์ฐธ๊ฐ€์ž๋Š” ๊ฐ ๋ฌธ์ œ๋ฅผ ํ’€๊ณ , ๊ทธ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ์„ ๋•Œ ์–ป๋Š” ์ ์ˆ˜๋Š” ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์‹œ์ž‘ํ•œ ์‹œ๊ฐ„๋ถ€ํ„ฐ 
๊ฒฝ๊ณผํ•œ ์‹œ๊ฐ„๊ณผ ๋‚œ์ด๋„๋กœ ๊ฒฐ์ •ํ•œ๋‹ค. 

๋ฌธ์ œ๋ฅผ ํ’€์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ์—๋Š” 0์ ์„ ๋ฐ›๋Š”๋‹ค. 
์ฐธ๊ฐ€์ž์˜ ์ด ์ ์ˆ˜๋Š” ๊ฐ€์žฅ ๋†’์€ ์ ์ˆ˜ 5๊ฐœ์˜ ํ•ฉ์ด๋‹ค.

์ž…๋ ฅ
8๊ฐœ ์ค„์— ๊ฑธ์ณ์„œ ๊ฐ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ฐธ๊ฐ€์ž์˜ ์ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. 
์ ์ˆ˜๋Š” 0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 150๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. 
๋ชจ๋“  ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ ์ˆ˜๋Š” ์„œ๋กœ ๋‹ค๋ฅด๋‹ค. 
์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ์ˆœ์„œ๋Œ€๋กœ 1๋ฒˆ ๋ฌธ์ œ, 2๋ฒˆ ๋ฌธ์ œ, ... 8๋ฒˆ ๋ฌธ์ œ์ด๋‹ค.

์ถœ๋ ฅ
์ฒซ์งธ ์ค„์— ์ฐธ๊ฐ€์ž์˜ ์ด์ ์„ ์ถœ๋ ฅํ•œ๋‹ค. 
๋‘˜์งธ ์ค„์—๋Š” ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ์ตœ์ข… ์ ์ˆ˜์— ํฌํ•จ๋˜๋Š”์ง€๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ถœ๋ ฅํ•œ๋‹ค. 
์ถœ๋ ฅ์€ ๋ฌธ์ œ ๋ฒˆํ˜ธ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ์ด์–ด์•ผ ํ•œ๋‹ค.
*/

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

int main() {
	int num;
	int sum = 0;
	vector<pair<int, int> > v;
	vector<int> index;

	for (int i = 1; i <= 8; ++i) {
		// 8๊ฐœ ์ค„์— ๊ฑธ์ณ์„œ ๊ฐ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ฐธ๊ฐ€์ž์˜ ์ ์ˆ˜
		cin >> num;
		v.push_back(make_pair(num, i));
	}

	sort(v.begin(), v.end(), greater<pair<int, int> >());

	for (int i = 0; i < 5; ++i) {
		sum += v[i].first;
		index.push_back(v[i].second);
	}

	// ์ฐธ๊ฐ€์ž์˜ ์ด์ 
	cout << sum << endl;

	sort(index.begin(), index.end());

	for (int i = 0; i < 5; ++i) {
		// ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ์ตœ์ข… ์ ์ˆ˜์— ํฌํ•จ๋˜๋Š”์ง€
		cout << index[i] << " ";
	}
	cout << endl;
	return 0;
}

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