[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

💻 CS/알고리즘 연습

[알고리즘 연습] 3등의 점수 (by. C++)

inu 2021. 1. 17. 17:09
반응형

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;
}
  • 정렬을 통해 문제를 해결할 수도 있지만, 찾아야하는 값이 간단하기 때문에 하나씩 찾아주는 방법을 선택했다.
반응형