[BOJ/C++] 8979 올림픽

Hanbi·2022년 4월 22일
0

Problem Solving

목록 보기
14/108
post-thumbnail

문제

https://www.acmicpc.net/problem/8979

풀이

1번 국가부터 보면서 더 잘한 국가일 경우에 ans++하는 방식!
문제에 한 국가의 등수는 (자신보다 더 잘한 나라 수) + 1로 정의한다 고 나와있음 -> 마지막에 +1 해주기

✨ 문제를 잘 읽자! 알고리즘을 만든다기 보다 문제에 따라서 알고리즘을 짠다는 느낌으로
✨ 크기가 정해진 경우에는 vector 말고, 배열 쓰면 쉽게 풀림

코드

#include <iostream>

using namespace std;

int main() {
	int N, K;
	int index;
	int A[1001];
	int B[1001];
	int C[1001];
	int ans = 0;
	
	cin >> N >> K;
	
	for(int i=0; i<N; i++) {
		cin >> index;
		cin >> A[index] >> B[index] >> C[index];
	}
	 //더 잘한 국가일 경우에 ans++ 
	for (int i = 1; i <= N; i++) {
    	if (A[i] > A[K]) {
            ans++;
        }
        else if (A[i] == A[K]) {
            if (B[i] > B[K]) {
                ans++;
            }
            else if (B[i] == B[K]) {
                if (C[i] > C[K]) {
                    ans++;
                }
            }
        }
    }

	cout << ans+1;
	
	return 0;
}
profile
👩🏻‍💻

0개의 댓글