백준 알고리즘 15969번 : 행복

Zoo Da·2021년 6월 10일
0

백준 알고리즘

목록 보기
78/337
post-thumbnail

링크

https://www.acmicpc.net/problem/15969

문제

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

예를 들어서 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명 학생들의 점수가 주어졌을 때, 가장 높은 점수와 가장 낮은 점수의 차이를 구하는 프로그램을 작성하시오

입력

표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 학생 수 N이 주어진다. 다음 줄에는 N명의 학생 점수가 공백 하나를 사이에 두고 주어진다.

출력

표준 출력으로 가장 높은 점수와 가장 낮은 점수의 차이를 출력한다.

예제 입력 및 출력

풀이 코드

// 15969번 : 행복

#include <stdio.h>
#include <stdlib.h>

int arr[1001];

int compare(const void *a, const void *b)
{
    int A = *(int *)a;
    int B = *(int *)b;
    if (A > B)
    {
        return 1;
    }
    else
    {
        return -1;
    }
    return 0;
}

int main()
{
    int t;
    scanf("%d", &t);
    for (int i = 0; i < t; i++)
    {
        scanf("%d", &arr[i]);
    }
    qsort(arr, t, sizeof(int), compare);
    printf("%d", arr[t - 1] - arr[0]);
    return 0;
}
profile
메모장 겸 블로그

0개의 댓글