[BAEKJOON] 백준 30999: 민주주의 (C#)

2024. 8. 2. 03:01IT/BaekJoon

문제 링크

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

 

 

문제

월간 향유회에서는 민주주의적 다수결 투표 방식으로 문제의 출제 여부를 정한다. 즉, N개의 문제 후보마다 M명의 출제위원이 찬반 의견을 내고, 과반수의 찬성을 얻은 문제가 출제된다. 이때 M은 항상 홀수이다.

문제 후보에 대한 출제위원의 찬반 의견이 주어졌을 때, 출제될 문제의 수를 구하여라.

 

 

입력

첫 번째 줄에 문제 후보의 수 N과 출제위원의 수 M이 공백으로 구분되어 주어진다. (1≤N≤100; 1≤M≤99; M은 홀수) 

다음 N줄 각각에 각 문제 후보에 대한 출제위원의 찬반 의견을 나타내는 길이 M의 문자열이 주어진다. 그중 i번째 문자는 i번째 출제위원이 문제 후보 출제에 찬성하면 O, 아니면 X이다.

 

 

출력

출제될 문제의 수를 출력한다.

 

 

 

통과한 답안

namespace _30999
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string[] inputs = Console.ReadLine().Split(' ');
            int N = int.Parse(inputs[0]);
            int M = int.Parse(inputs[1]);

            int cnt = 0;
            for (int i = 0; i < N; i++)
            {
                string votes = Console.ReadLine();

                int agreeCnt = 0;
                foreach (char vote in votes)
                {
                    if (vote == 'O')
                    {
                        agreeCnt++;
                    }
                }

                if (agreeCnt > M / 2)
                {
                    cnt++;
                }
            }

            Console.WriteLine(cnt);
        }
    }
}

 

N으로 주어진 문제들에 대해서

M명의 출제의원의 찬반 투표에서 과반수 이상 찬성을 얻은 문제를 수를 구하는 문제이다.

 

입력값을 받아온 후에 각 투표마다 찬성 표가 몇 개인지 확인하여

과반수를 넘으면 cnt를 1씩 더해서 결과를 출력하도록 하였다.