본문 바로가기
[프로그래머스 C++]/LEVEL 0

[프로그래머스 C++] 등수 매기기

by AKI(JUNI) 2024. 2. 24.

◈ 문제 설명


◈ 문제 설명 링크
코딩테스트 연습 - 등수 매기기 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


◈ 작성 코드

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

vector<int> solution(vector<vector<int>> score) 
{
    vector<int> answer;
    vector<double> ace;
    vector<double> beta;
    for(int i = 0; i < score.size(); i++)
    {
        double t = (score[i][0] + score[i][1]) / 2.0;
        ace.push_back(t);       // 내림차순 정렬
        beta.push_back(t);      // 일반 위치
    }
    
    sort(ace.begin(), ace.end(),greater<>());
    
    bool isB = false;
    for(int i = 0; i < ace.size(); i++)
    {
        for(int j = 0; j < beta.size(); j++)
        {
            if(beta[i] == ace[j] && !isB)
            {
                answer.push_back(j + 1);
                isB = true;
            }
        }
        isB = false;
    }
    return answer;
}