Algorithm/BOJ
백준 5800번 C++
poopooreum
2023. 8. 21. 11:42
반응형
백준 5800번 성적 통계
https://www.acmicpc.net/problem/5800
5800번: 성적 통계
첫째 줄에 중덕 고등학교에 있는 반의 수 K (1 ≤ K ≤ 100)가 주어진다. 다음 K개 줄에는 각 반의 학생수 N (2 ≤ N ≤ 50)과 각 학생의 수학 성적이 주어진다. 시험 성적은 0보다 크거나 같고, 100보다
www.acmicpc.net


정답 코드
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main(int argc, const char* argv[]) {
int n;
cin >> n;
for (int x = 0; x < n; x++) {
int k,dif=0;
cin >> k;
vector<int>arr(k);
for (int x = 0; x < k; x++)
cin >> arr[x];
sort(arr.begin(), arr.end());
for (int x = 1; x < k; x++) {
if (arr[x] - arr[x - 1] > dif)
dif = arr[x] - arr[x - 1];
}
cout << "Class " << x + 1 << "\n";
cout << "Max " << arr[k-1] << ", Min " <<arr[0] << ", Largest gap " << dif << "\n";
}
}
문제 풀이
정렬은 알고리즘 헤더파일에 있는 sort함수를 이용했고 입력은 벡터로 받았습니다. 점수 차이는 1부터 k까지 반복문을 돌리면서 arr[x]-arr[x-1]값을 하나씩 비교하였습니다.
반응형