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

[BAEKJOON C++] 5800_์„ฑ์  ํ†ต๊ณ„ ๋ณธ๋ฌธ

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

[BAEKJOON C++] 5800_์„ฑ์  ํ†ต๊ณ„

์ง•์ง•์•ŒํŒŒ์นด 2023. 8. 17. 10:10
728x90
๋ฐ˜์‘ํ˜•
ํ•œ์ƒ๋•์€ ์ด๋ฒˆ์— ์ค‘๋• ๊ณ ๋“ฑํ•™๊ต์— ์ƒˆ๋กœ ๋ถ€์ž„ํ•œ ๊ต์žฅ ์„ ์ƒ๋‹˜์ด๋‹ค.
๊ต์žฅ ์„ ์ƒ๋‹˜์œผ๋กœ์„œ ์ฒซ ๋ฒˆ์งธ ์ผ์€ ๊ฐ ๋ฐ˜์˜ ์ˆ˜ํ•™ ์‹œํ—˜ ์„ฑ์ ์˜ ํ†ต๊ณ„๋ฅผ ๋‚ด๋Š” ์ผ์ด๋‹ค.

์ค‘๋• ๊ณ ๋“ฑํ•™๊ต ๊ฐ ๋ฐ˜์˜ ํ•™์ƒ๋“ค์˜ ์ˆ˜ํ•™ ์‹œํ—˜ ์„ฑ์ ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ,
์ตœ๋Œ€ ์ ์ˆ˜, ์ตœ์†Œ ์ ์ˆ˜, ์ ์ˆ˜ ์ฐจ์ด๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ
์ฒซ์งธ ์ค„์— ์ค‘๋• ๊ณ ๋“ฑํ•™๊ต์— ์žˆ๋Š” ๋ฐ˜์˜ ์ˆ˜ K (1 ≤ K ≤ 100)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. 
๋‹ค์Œ K๊ฐœ ์ค„์—๋Š” ๊ฐ ๋ฐ˜์˜ ํ•™์ƒ์ˆ˜ N (2 ≤ N ≤ 50)๊ณผ ๊ฐ ํ•™์ƒ์˜ ์ˆ˜ํ•™ ์„ฑ์ ์ด ์ฃผ์–ด์ง„๋‹ค. 
์‹œํ—˜ ์„ฑ์ ์€ 0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๊ณ , ๊ณต๋ฐฑ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค.

์ถœ๋ ฅ
๊ฐ ๋ฐ˜์— ๋Œ€ํ•œ ์ถœ๋ ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‘ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

์ฒซ์งธ ์ค„์—๋Š” "Class X"๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. X๋Š” ๋ฐ˜์˜ ๋ฒˆํ˜ธ์ด๋ฉฐ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ์ˆœ์„œ๋Œ€๋กœ 1๋ถ€ํ„ฐ ์ฆ๊ฐ€ํ•œ๋‹ค.
๋‘˜์งธ ์ค„์—๋Š” ๊ฐ€์žฅ ๋†’์€ ์ ์ˆ˜, ๋‚ฎ์€ ์ ์ˆ˜, ์„ฑ์ ์„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ–ˆ์„ ๋•Œ 
๊ฐ€์žฅ ํฐ ์ธ์ ‘ํ•œ ์ ์ˆ˜ ์ฐจ์ด๋ฅผ ์˜ˆ์ œ ์ถœ๋ ฅ๊ณผ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅํ•œ๋‹ค.
// [5800] ์„ฑ์  ํ†ต๊ณ„

/*
ํ•œ์ƒ๋•์€ ์ด๋ฒˆ์— ์ค‘๋• ๊ณ ๋“ฑํ•™๊ต์— ์ƒˆ๋กœ ๋ถ€์ž„ํ•œ ๊ต์žฅ ์„ ์ƒ๋‹˜์ด๋‹ค.
๊ต์žฅ ์„ ์ƒ๋‹˜์œผ๋กœ์„œ ์ฒซ ๋ฒˆ์งธ ์ผ์€ ๊ฐ ๋ฐ˜์˜ ์ˆ˜ํ•™ ์‹œํ—˜ ์„ฑ์ ์˜ ํ†ต๊ณ„๋ฅผ ๋‚ด๋Š” ์ผ์ด๋‹ค.

์ค‘๋• ๊ณ ๋“ฑํ•™๊ต ๊ฐ ๋ฐ˜์˜ ํ•™์ƒ๋“ค์˜ ์ˆ˜ํ•™ ์‹œํ—˜ ์„ฑ์ ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ,
์ตœ๋Œ€ ์ ์ˆ˜, ์ตœ์†Œ ์ ์ˆ˜, ์ ์ˆ˜ ์ฐจ์ด๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ
์ฒซ์งธ ์ค„์— ์ค‘๋• ๊ณ ๋“ฑํ•™๊ต์— ์žˆ๋Š” ๋ฐ˜์˜ ์ˆ˜ K (1 ≤ K ≤ 100)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.
๋‹ค์Œ K๊ฐœ ์ค„์—๋Š” ๊ฐ ๋ฐ˜์˜ ํ•™์ƒ์ˆ˜ N (2 ≤ N ≤ 50)๊ณผ ๊ฐ ํ•™์ƒ์˜ ์ˆ˜ํ•™ ์„ฑ์ ์ด ์ฃผ์–ด์ง„๋‹ค.
์‹œํ—˜ ์„ฑ์ ์€ 0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๊ณ , ๊ณต๋ฐฑ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค.

์ถœ๋ ฅ
๊ฐ ๋ฐ˜์— ๋Œ€ํ•œ ์ถœ๋ ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‘ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

์ฒซ์งธ ์ค„์—๋Š” "Class X"๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. X๋Š” ๋ฐ˜์˜ ๋ฒˆํ˜ธ์ด๋ฉฐ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ์ˆœ์„œ๋Œ€๋กœ 1๋ถ€ํ„ฐ ์ฆ๊ฐ€ํ•œ๋‹ค.
๋‘˜์งธ ์ค„์—๋Š” ๊ฐ€์žฅ ๋†’์€ ์ ์ˆ˜, ๋‚ฎ์€ ์ ์ˆ˜, ์„ฑ์ ์„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ–ˆ์„ ๋•Œ
๊ฐ€์žฅ ํฐ ์ธ์ ‘ํ•œ ์ ์ˆ˜ ์ฐจ์ด๋ฅผ ์˜ˆ์ œ ์ถœ๋ ฅ๊ณผ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅํ•œ๋‹ค.
*/

#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 k;
	// ๋ฐ˜์˜ ์ˆ˜
	cin >> k;

	int arr[51];
	for (int i = 1; i <= k; i++) {
		int x;
		// ๊ฐ ๋ฐ˜์˜ ํ•™์ƒ ์ˆ˜
		cin >> x;

		for (int j = 0; j < x; j++) {
			cin >> arr[j];
		}

		// ๋‚ด๋ฆผ์ฐจ์ˆœ
		sort(arr, arr + x, greater<int>());

		cout << "Class " << i << endl;
		cout << "Max " << arr[0] << ", ";
		cout << "Min " << arr[x - 1] << ", ";

		int gap, largest = 0;
		// ์„ฑ์ ์„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ–ˆ์„ ๋•Œ ๊ฐ€์žฅ ํฐ ์ธ์ ‘ํ•œ ์ ์ˆ˜ ์ฐจ์ด
		for (int j = 1; j < x; j++) {
			gap = arr[j - 1] - arr[j];
			if (largest < gap)
				largest = gap;
		}
		cout << "Largest gap " << largest << endl;
	}
	return 0;
}

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