✅ 행렬의 곱셈을 알아보자.
정말 기초다. 예전에 대학에서 공부할 떄, 이거 진짜 난제였는데,
이제는 훅훅 푸는 나를 보니 실력이 늘은 것 같아서 좋다.
//
// main.swift
// algorithm
//
// Created by Hamlit Jason on 2021/11/15.
// https://programmers.co.kr/learn/courses/30/lessons/12949
import Foundation
func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -> [[Int]] {
// print(arr1.count)
// print(arr2.count)
var answer : [[Int]] = Array(repeating: Array(repeating: 1, count: arr2[0].count), count: arr1.count)
// print(answer)
var sum = 0
for i in 0..<arr1.count { // 행
// print("- i is \(i)")
for j in 0..<arr2[0].count { // 열
// print(j)
for k in 0..<arr2.count {
// print(k)
sum = sum + arr1[i][k] * arr2[k][j]
}
// print(sum)
// print("i idx \(i), j idx \(j)")
answer[i][j] = sum
sum = 0
}
sum = 0
}
return answer
}
//print(solution([[1, 4], [3, 2], [4, 1]], [[3, 3], [3, 3]]))
//print(solution([[2, 3, 2], [4, 2, 4], [3, 1, 4]],[[5, 4, 3], [2, 4, 1], [3, 1, 1]]))
//print(solution([[2, 2, 2], [2, 2, 2]], [[2],[2],[2]]))
'알고리즘 문제 풀이' 카테고리의 다른 글
[프로그래머스] 다리를 지나는 트럭 42583 swift (0) | 2021.11.16 |
---|---|
[프로그래머스] 42586 기능개발 Swift (0) | 2021.11.16 |
[프로그래머스] 60057 문자열 압축 Swift (0) | 2021.11.15 |
[프로그래머스] Swift 위장 - 42578 (0) | 2021.11.03 |
[프로그래머스] Swift 숫자 문자열과 영단어 (81301) (0) | 2021.10.29 |