작성일 :

문제 링크

5246번 - Checkerboard Rows

설명

8 x 8 사이즈의 체커보드에서 한 행에 가장 많이 놓인 체커 피스의 개수를 찾는 문제입니다.

입력으로 피스의 행과 열이 주어질 때 마다 각 행에 대해서 체크를 한 후, 모든 행을 순회하며 가장 높은 값을 탐색하여 출력합니다.


Code

[ C# ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
namespace Solution {
  class Program {
    static void Main(string[] args) {

      var cntBoard = int.Parse(Console.ReadLine()!);

      for (int i = 0; i < cntBoard; i++) {
        var input = Console.ReadLine()!.Split(' ');
        var cntPieces = int.Parse(input[0]);

        var rows = new int[8];
        for (int j = 1; j <= cntPieces; j++) {
          var x = int.Parse(input[2 * j - 1]);
          var y = int.Parse(input[2 * j]);

          rows[y - 1]++;
        }

        var maxPieces = rows.Max();
        Console.WriteLine(maxPieces);
      }

    }
  }
}



[ C++ ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <bits/stdc++.h>

using namespace std;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  int cntBoard; cin >> cntBoard;

  for (int i = 0; i < cntBoard; i++) {
    int cntPieces; cin >> cntPieces;
    vector<int> rows(8, 0);
    for (int j = 0; j < cntPieces; j++) {
      int x, y; cin >> x >> y;

      rows[y - 1]++;
    }

    int maxPieces = *max_element(rows.begin(), rows.end());
    cout << maxPieces << "\n";
  }

  return 0;
}