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

💻 CS/알고리즘 연습

[알고리즘 연습] 석차 구하기 (by C++)

inu 2021. 1. 13. 13:35
반응형

석차 구하기

  • n 입력.
  • n명의 학생들의 성적이 있다. 이 학생들의 성적을 입력받고, 학생들의 등수를 배열 순서대로 출력하라.
  • ex. 90 85 92 95 90 입력 => 3 5 2 1 3 출력
  • 같은 점수의 학생은 높은 등수로 동일하게 처리한다. 단, 그보다 점수가 낮은 학생은 동일한 점수를 가진 학생들만큼 등수가 내려간다. (1등이 3명일 경우 그 다음은 4등)

풀이

#include <iostream>
#include <vector>
using namespace std;

int main() {
    int i, j, n;

    cin >> n;
    vector<int> a(n); 
    vector<int> b(n); 

    for (i=0; i<n; i++) {
        cin >> a[i];
        b[i] = 1;        
    }

    for (i=0; i<n; i++) {
        for (j=0; j<n; j++) {
            if (a[i] < a[j]) {
                b[i] += 1;
            }
        }
    }

    for (i=0; i<n; i++) {
        cout << b[i] << " ";        
    }


    return 0;
}
  • 브루트 포스의 간단한 문제였다. 어렵게 생각하다 또 시간을 낭비했다.
  • 문제를 많이 풀어 브루트 포스의 문제가 어떻게 나오지는지 익혀둬야겠다.
반응형