알고리즘 풀이

[C#] 백준 7568번 문제풀이

bimtaeur30 2025. 7. 29. 23:52

안녕하세요.

백준 7568번 '덩치' 문제풀이를 진행해보도록 하겠습니다.

해당 문제는 키와 몸무게를 비교했을때 둘다 비교대상에 비해 높다면 등급을 1 올리며 최종 모든 사람의 등급을 출력하는 문제입니다.

 

입력예제

5
55 185
58 183
88 186
60 175
46 155

 

출력예제

2 2 1 2 5 // 등급

 

우선, 사람의 수(N)를 입력으로 받아옵니다.

다음줄에 사람 몸무게와 키를 담을 List를 선언해줍니다.

int N = int.Parse(Console.ReadLine());
List<(int weight, int height)> people = new List<(int weight, int height)>();


입력으로 사람들의 몸무게와 키를 담아와 people List에 저장해줍니다.

for (int i = 0; i < N; i++)
{
    int[] input = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
    people.Add((input[0],input[1]));
}

 

for 반복문으로 모든 사람들을 돌아보며 자신보다 키와 몸무게가 큰 사람 발견할 시 자신의 등급에 1을 더하고, 등급을 구했으면 나의 등급을 출력해줍니다. 이걸 N번 반복합니다. (i == x 는 자기 자신이므로 건너뜀)
이제 정답이 모두 출력됩니다 🏆

for (int i = 0; i <N; i++)
{
    int rank = 1;
    for (int x = 0; x < N; x++)
    {
        if (i == x)
            continue;

        if (people[x].height > people[i].height && people[x].weight> people[i].weight)
        {
            rank++;
        }
    }
    Console.Write(rank + " ");
}

 

다음은 전체코드입니다.

 

전체코드

using System;

class Program
{
    static void Main()
    {
        int N = int.Parse(Console.ReadLine());
        List<(int weight, int height)> people = new List<(int weight, int height)>();

        for (int i = 0; i < N; i++)
        {
            int[] input = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
            people.Add((input[0],input[1]));
        }

        for (int i = 0; i <N; i++)
        {
            int rank = 1;
            for (int x = 0; x < N; x++)
            {
                if (i == x)
                    continue;

                if (people[x].height > people[i].height && people[x].weight> people[i].weight)
                {
                    rank++;
                }
            }
            Console.Write(rank + " ");
        }
    }
}

 

'알고리즘 풀이' 카테고리의 다른 글

[C#] 백준 2920번 문제풀이  (1) 2025.08.11
[C#] 백준 1018번 문제풀이  (1) 2025.07.30
[C#] 백준 1676번 문제풀이  (1) 2025.07.28
[C#] 백준 10773번 문제풀이  (2) 2025.07.27
[C#] 백준 1260번 문제풀이  (4) 2025.07.26