← 실전 문제

행과 열의 단독 표식

C++완성형

0과 1로 이루어진 격자에서 단독 표식을 찾아요. 값이 1이고, 같은 행의 다른 칸에도 같은 열의 다른 칸에도 1이 없으면 단독 표식이에요. 단독 표식의 개수를 반환해요.

int solution(vector<vector<int>> board)가 요구한 값을 반환하도록 함수를 작성해 주세요.

매개변수와 반환값

행 수와 열 수는 각각 130이고 모든 행의 길이는 같아요. 값은 0 또는 1이에요. 반환값은 0min(행 수,열 수)인 정수예요.

예시

  1. board={{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}이면 3를 반환해요. 대각선 세 표식은 각각 자기 행과 열에서 유일해요.
  2. board={{1, 0}, {1, 1}}이면 0를 반환해요. 첫 표식은 같은 열에 다른 표식이 있고, 나머지 표식들은 같은 행 또는 열에 다른 표식이 있어요.

실행용 입출력

첫 줄에 행 수 열 수, 이후 각 줄에 격자 한 행을 입력해요. main은 입력을 매개변수로 바꾸고 반환값을 출력하는 채점 하네스예요. 풀이 대상은 solution 함수예요.

예시 입력

3 3
1 0 0
0 1 0
0 0 1

예상 결과

3

예시 입력

2 2
1 0
1 1

예상 결과

0
핵심 개념
  • array-2d: 행과 열의 위치를 구분해요.
  • counting-aggregation: 항목별 횟수와 최종 집계를 구분해요.
  • stl-vector: 벡터의 크기와 인덱스로 매개변수를 읽어요.

코드 작성과 채점은 로그인 후 이용해요

로그인하고 풀기