ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백준 15969번: 행복
    구현(Implementation) 2020. 11. 28. 16:00
    반응형

    www.acmicpc.net/problem/15969

     

    15969번: 행복

    모든 서브태스크에서 2 ≤ N ≤ 1,000이고 입력되는 학생들의 점수는 0 이상 1,000 이하의 정수이다.

    www.acmicpc.net

     

    문제

    코이 초등학교에 새로 부임하신 교장 선생님은 어린 학생들의 행복감과 학생들의 성적 차이 관계를 알아보기로 했다. 그래서 이전 성적을 조사하여 학생 들의 시험 점수 차이 변화를 알아보려고 한다.

    예를 들어서 2016년 학생 8명의 점수가 다음과 같다고 하자.

    27, 35, 92, 75, 42, 53, 29, 87

    그러면 가장 높은 점수는 92점이고 가장 낮은 점수는 27점이므로 점수의 최대 차이는 65이다. 한편 2017년 학생 8명의 점수가 다음과 같았다.

    85, 42, 79, 95, 37, 11, 72, 32

    이때 가장 높은 점수는 95점이고 가장 낮은 점수는 11점이므로 점수의 최대 차이는 84이다.

    N명 학생들의 점수가 주어졌을 때, 가장 높은 점수와 가장 낮은 점수의 차이를 구하는 프로그램을 작성하시오

     

     

    주어진 점수에서 최대 값과 최소 값의 차이를 출력하는 문제이다.

    배열이나 벡터로 입력을 받고 정렬 한다.

    정렬 후에 최초의 시작값과 마지막값의 차를 절대값으로 출력

    #include <iostream>
    #include <sstream>
    #include <string>
    #include <algorithm>
    #include <functional>
    #include <vector>
    #include <list>
    #include <queue>
    #include <deque>
    #include <map>
    #include <set>
    #include <stack>
    #include <math.h>
    #include <memory.h>
    using namespace std;
    
    #define MAX_SIZE 100
    #define INF 0x7fffffff
    #define CENDL "\n"
    #define ll long long
    
    #define c_reverse(s) reverse(s.begin(), s.end())
    #define c_sort(s) sort(s.begin(), s.end())
    #define print_vector(v) for(int i=0; i<v.size(); i++) cout << v[i];
    
    int main() {
    
    	cin.tie(0);
    	std::ios::sync_with_stdio(false);
    
    	int n; cin >> n;
    	vector<int> arr(n);
    
    	for(int i=0; i<n; i++) {
    		cin >> arr[i];
    	}
    
    	sort(arr.begin(), arr.end());
    
    	int sol = abs(arr[0] - arr[n-1]);
    	cout << sol << CENDL;
    	return 0;
    }
    반응형

    '구현(Implementation)' 카테고리의 다른 글

    백준 2798번: 블랙젝  (0) 2020.11.28
    Angry Professor  (0) 2019.04.18
    백준 2511번: 카드놀이  (0) 2019.01.20
    백준 13701번: 중복 제거  (0) 2019.01.14
    백준 10984번: 내 학점을 구해줘  (0) 2019.01.14

    댓글

Designed by Tistory.