문제 설명

[프로그래머스 문제 제작자 채용공고 보러 가기]


모든 수가 0 또는 1로 이루어진 2차원 배열 a가 주어집니다. 다음 조건을 모두 만족하는 2차원 배열 b의 경우의 수를 (107 + 19)로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요.

  • b의 모든 원소는 0 아니면 1입니다.
  • a의 행/열의 개수와 b의 행/열의 개수가 같습니다. (= a와 b의 크기가 같습니다.)
  • i = 1, 2, ..., (a의 열의 개수)에 대해서 a의 i번째 열과 b의 i번째 열에 들어 있는 1의 개수가 같습니다.
  • b의 각 행에 들어 있는 1의 개수가 짝수입니다. (0도 짝수입니다.)

제한 사항
  • a의 행의 개수는 1 이상 300 이하입니다.
    • a의 각 행의 길이는 1 이상 300 이하로 모두 동일합니다.

입출력 예
a result
[[0,1,0],[1,1,1],[1,1,0],[0,1,1]] 6
[[1,0,0],[1,0,0]] 0
[[1,0,0,1,1],[0,0,0,0,0],[1,1,0,0,0],[0,0,0,0,1]] 72

입출력 예 설명

입출력 예 #1

  • 주어진 a는 다음 표와 같은 4행 3열의 배열입니다.
a 1열 2열 3열
1행 0 1 0
2행 1 1 1
3행 1 1 0
4행 0 1 1
  • 주어진 조건을 만족하는 2차원 배열 b는 다음과 같이 총 6개입니다.
b 1열 2열 3열
1행 1 1 0
2행 1 1 0
3행 0 1 1
4행 0 1 1
b 1열 2열 3열
1행 1 1 0
2행 0 1 1
3행 1 1 0
4행 0 1 1
b 1열 2열 3열
1행 1 1 0
2행 0 1 1
3행 0 1 1
4행 1 1 0
b 1열 2열 3열
1행 0 1 1
2행 1 1 0
3행 1 1 0
4행 0 1 1
b 1열 2열 3열
1행 0 1 1
2행 1 1 0
3행 0 1 1
4행 1 1 0
b 1열 2열 3열
1행 0 1 1
2행 0 1 1
3행 1 1 0
4행 1 1 0

입출력 예 #2

  • 주어진 a는 다음 표와 같은 2행 3열의 배열입니다.
a 1열 2열 3열
1행 1 0 0
2행 1 0 0
  • 주어진 조건을 만족하는 2차원 배열 b가 없으므로, 0을 return 해야 합니다.

입출력 예 #3

  • 주어진 a는 다음 표와 같은 4행 5열의 배열입니다.
a 1열 2열 3열 4열 5열
1행 1 0 0 1 1
2행 0 0 0 0 0
3행 1 1 0 0 0
4행 0 0 0 0 1
  • 주어진 조건을 만족하는 2차원 배열 b는 72개이므로, 72를 return 해야 합니다.

[프로그래머스에서 알려 드립니다.]

월간 코드 챌린지에서 우수한 성적을 받으신 분이 [프로그래머스] 알고리즘 & 코딩 테스트 문제 제작자로 지원하시면, 아래와 같은 혜택을 드립니다. 지금 채용 중이니 많은 관심과 지원 부탁드립니다.

월별 챌린지에서

  • 3문제 이상 만점을 받으신 분 : 지원 자격 조건에서 스킬체크 레벨4 이상 획득이 면제됩니다.
  • 3문제 이상 만점 & 350점 이상의 총점을 받으신 분 : 스킬체크 레벨4 이상 획득이 면제되며, 1차 온라인 코딩 테스트 점수와 상관없이 면접이 확정됩니다.

채용공고 보러 가기

실행 결과 실행 중지
실행 결과가 여기에 표시됩니다.