반응형
3등의 점수
- 100점 만점 기준의 점수 배열이 N개 주어졌을 때, 이 중 3등의 점수를 찾아 출력하라.
- 각 등수별 인원은 무시하고, 점수만이 등수의 기준이 된다. (100점 3명, 98점 3명, 95점 3명이면 95점 3명 모두 3등이다.)
풀이
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, i, one, two, three;
cin >> n;
vector<int> a(n);
for(i=0; i<n; i++) {
cin >> a[i];
}
one = -2147000000;
two = -2147000000;
three = -2147000000;
for (i=0; i<n; i++) {
if (one < a[i]) {
one = a[i];
}
}
for (i=0; i<n; i++) {
if ((two < a[i]) && (a[i] < one)) {
two = a[i];
}
}
for (i=0; i<n; i++) {
if ((three < a[i]) && (a[i] < two)) {
three = a[i];
}
}
cout << three;
return 0;
}
- 정렬을 통해 문제를 해결할 수도 있지만, 찾아야하는 값이 간단하기 때문에 하나씩 찾아주는 방법을 선택했다.
반응형
'💻 CS > 알고리즘 연습' 카테고리의 다른 글
[알고리즘 연습] 연속된 자연수의 합 (by. C++) (0) | 2021.01.18 |
---|---|
[알고리즘 연습] 교집합(투포인터 알고리즘) (by. C++) (0) | 2021.01.17 |
[알고리즘 연습] N!에서 0의 개수 (by. C++) (0) | 2021.01.14 |
[알고리즘 연습] N!의 표현법 (feat. 소인수분해) (by. C++) (0) | 2021.01.14 |
[알고리즘 연습] 석차 구하기 (by C++) (0) | 2021.01.13 |