강의로 돌아가기
awer000

테스트 케이스는 통과하는데 채점하면 전부틀리네요.

function solution(arr1, arr2) {
  let list1 = [];
  for (let i = 0; i < arr1.length; i++) {
    let list2 = [];
    let num = 0;
    let answer = 0;
    console.log(num);
    while (num < arr2.length) {
      let n2 = 0;
      for (let j = 0; j < arr1[i].length; j++) {
        answer += arr1[i][j] * arr2[j][n2 + num];
        console.log(answer);
      }
      num++;
      list2.push(answer);
      console.log(answer);
      console.log(`--------`);
      answer = 0;
    }
    console.log(`한타임 끝`);
    num = 0;
    list1.push(list2);
  }
  return list1;
}

console.log(
  solution([[2, 3, 2], [4, 2, 4], [3, 1, 4]], [[5, 4, 3], [2, 4, 1], [3, 1, 1]])
);

하.. 뭐가 문제인지 ㅠㅠ

  • kimmyungyun
    3달이나 지났긴 했는데 arr2 가 정사각 행렬이 아닌 경우가 채점할 때 사용하는 케이스 인 것 같습니다 행렬의 곱셈의 경우 arr1이 i * j 의 크기이고, arr2가 q * p 크기의 경우 곱셈 하여 나오는 행렬의 크기는 i * p 로 while(num < arr2.length) 를 while(num < arr2[0].length) 로 고쳐 주시면 될 것 같습니다. kimmyungyun 2019.01.29 16:10
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.