[C++] 백준 15969 행복
반응형
1. 서론
간단한 구현 문제
2. 문제 풀이
학생들의 점수가 주어진다. 그중에 가장 큰 점수와 작은 점수의 차를 출력하는 문제이다.
서브 태스크가 있는데 서브 태스크를 별로 고려하지 않고 그냥 생각나는 대로 풀었는데 맞았다.
점수를 입력 받으면 배열에 넣고 정렬한다. 그럼 자동으로 배열의 맨 앞에는 가장 작은 점수가 배열의 맨 뒤에는 가장 큰 점수가 오게 된다.
이 둘을 이용해서 출력하고 끝냈다.
근데 min, max 함수를 이용해서 풀어도 될 것 같은데 정렬이 더 간단하다고 생각해서 정렬로 풀었다.
3. 코드 설명
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int n, i;
int s[1000];
cin >> n;
for (i = 0; i < n; i++)
cin >> s[i];
sort(s, s + n);
cout << s[n - 1] - s[0] << endl;
}
n의 범위가 1000이라 1000짜리 배열을 임의로 만들어줬다.
n을 입력받고 학생들의 점수를 입력받고 정렬 후 가장 큰 수인 배열의 마지막 항과 가장 작은 수인 배열의 첫 번째 항을 빼준다.
반응형
'Algorithm' 카테고리의 다른 글
[C++] 백준 15312 이름 궁합 (0) | 2021.04.16 |
---|---|
[C++] 백준 10539 수빈이와 수열 (0) | 2021.04.16 |
[C++] 백준 1236 성 지키기 (1) | 2021.03.28 |
[C++] 백준 1668 트로피 진열 (0) | 2021.03.27 |
[C++] 백준 1568 새 (0) | 2021.03.27 |