정현수
현수 세상
정현수
전체 방문자
오늘
어제
반응형
  • 분류 전체보기 (267)
    • NEXTSTEP 자바스크립트 클린코드 2기 (1)
    • 우테코 4기 (6)
    • 회고록 (5)
    • 개발지식 (6)
    • React (3)
      • React Clone Coding (3)
    • React Native (2)
    • Kubernetes & Docker (36)
      • 궁금한 것 (13)
    • Flutter (2)
    • 알고리즘 (168)
      • 프로그래머스 1단계 (27)
      • 프로그래머스 2단계 (37)
      • 백준 (98)
      • 이론 (6)
    • 자료구조 (3)
    • 유튜브 (1)
    • 책 읽자 (1)
    • 취업준비 (1)
    • 대내 활동 (31)
      • 2022년 겨울방학 알고리즘 특강 (0)
      • 2020년 여름방학 모각코 (13)
      • 2020년 겨울방학 모각코 (13)
      • 웹프로그래밍 상상튜터링 (5)

인기 글

최근 글

공지사항

  • 블로그 이동

태그

  • 백준
  • Deployment
  • programmers
  • 개발지식
  • 레플리카셋
  • Kubernetes
  • 리액트
  • 모각코
  • 쿠버네티스
  • 프로그래머스
  • image pull
  • image run
  • javascript
  • 이코테
  • kubelet
  • replicaset
  • 공식문서
  • 자바스크립트
  • React
  • 알고리즘
  • Jenkins
  • 노드
  • NodePort
  • docker
  • 파이썬
  • mysql
  • 그리디
  • 우테코
  • flutter
  • 디플로이먼트

최근 댓글

블로그 메뉴

  • 홈

티스토리

hELLO · Designed By 정상우.
정현수

현수 세상

[프로그래머스 LV2] 행렬의 곱셈 문제 풀이 (Javascript)
알고리즘/프로그래머스 2단계

[프로그래머스 LV2] 행렬의 곱셈 문제 풀이 (Javascript)

2021. 7. 19. 17:01
반응형

문제 설명

2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.

제한 조건

  • 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다.
  • 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다.
  • 곱할 수 있는 배열만 주어집니다.

입출력 예

arr1 arr2 return
[[1, 4], [3, 2], [4, 1]] [[3, 3], [3, 3]] [[15, 15], [15, 15], [15, 15]]
[[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]]

정답 풀이

나의 풀이

function solution(arr1, arr2) {
    let answer = [];
    arr1.forEach(_ => answer.push(Array(arr2[0].length).fill(0)));

    for(let row = 0; row < arr1.length; row++){
        for(let col = 0; col < arr2[0].length; col++) {
           let add = arr1[row].reduce((acc, i, idx) => {
               return acc + i * arr2[idx][col];
           }, 0);
        answer[row][col] = add;
        }
    }
    return answer;
}

 

다른 사람 풀이

function solution(arr1, arr2) {
    return arr1.map((row) => arr2[0].map((x,y) => row.reduce((a,b,c) => a + b * arr2[c][y], 0)))
}

 

반응형

'알고리즘 > 프로그래머스 2단계' 카테고리의 다른 글

[프로그래머스 LV2] 최솟값 만들기 문제 풀이 (Javascript)  (0) 2021.07.19
[프로그래머스 LV2] 피보나치 수 문제 풀이 (Javascript)  (0) 2021.07.19
[프로그래머스 LV2] JadenCase 문자열 만들기 문제 풀이 (Javascript)  (0) 2021.07.17
[프로그래머스 LV2] N개의 최소공배수 문제 풀이 (Javascript)  (0) 2021.07.17
[프로그래머스 LV2] 기능개발 문제 풀이 (Javascript)  (0) 2021.07.17
    정현수
    정현수
    깃허브 : https://github.com/junghyeonsu 개인 블로그 : https://junghyeonsu.com/ (양질의 글을 올리려고 항상 노력합니다.)

    티스토리툴바