본문 바로가기
🧑‍💻코딩 테스트/백준 (BOJ)

[코딩테스트/ 백준 알고리즘] BOJ.7568 : 덩치 (C++ 풀이)

by 코코의 주인 2022. 1. 7.

 


풀이

자료구조

- int num : 입력의 수

- int body[ ][0] : 체중 , int body[ ][1] : 키

- int rank[ ] : 순위

 

알고리즘

- i번째랑 i+1번째 신체 조건 비교, i가 i+i보다 덩치가 작으면 rank[i]의 값을 증가시킴

- 모든 요소들을 비교해야 하기 때문에 브루트포스 방식을 사용


코드 

#include <iostream>
using namespace std;
int main() {

    int num = 0;
    int body[50][2] = {0};
    int rank[50] = {0};
    cin >> num;

    //입력
    for (int i = 0; i < num; i++) {
        cin >> body[i][0] >> body[i][1];
        rank[i] = 1;
    }

    for (int i = 0; i < num; i++) {
        for (int j = 0; j < num; j++) {
            if (body[i][0] < body[j][0] && body[i][1] < body[j][1]) {
                rank[i]++;
            }
        }
    }

    for (int i = 0; i < num; i++) {
        cout << rank[i] << " ";
    }
    return 0;
}

 


총평

이 문제 처음에 어떻게 해야 할지 모르겠어서 별의별 생각을 다 했다.

생각한 내용으로 구현을 하고 있었는데 예외처리가 계속 나와서 '실버5가 이게 맞나?' 싶었다.

심지어 올림피아드 초등부 2번 문제던데...

그래서 다른 사람들이 어떻게 풀었는지 보고 푼 문제다.

문제를 단순하게 보는 법을 배워야겠다.

댓글