Kotlin/Algorithm Problems
<프로그래머스> 행렬의 곱셈(Lv.2)
re트
2023. 11. 17. 16:44
728x90
[깃허브]
[프로그래머스]
https://school.programmers.co.kr/learn/courses/30/lessons/12949?language=kotlin
이 문제는 그냥 너무 짧고 목적이 명확했다.
그리고 시간이 생각보다 걸렸다...?!
요즘에는 문제 푸는 시간이 좀 걸린다 싶으면 펜과 종이를 들고 막 적어본다.
테스트 케이스나 내가 생각하는 흐름 등을 적다보면 좀 정리가 되기 때문이다.
이 문제의 경우에는 3중 for문을 사용했기 때문에 이 범위가 저 범위인지가 헷갈려서 시간을 더 쓰게 됐다.
그래도 차근차근 적고 디버깅하면서 해결완료!
해당 방법으로 작성한 코드는 다음과 같다.
class Solution {
fun solution(arr1: Array<IntArray>, arr2: Array<IntArray>): Array<IntArray> {
var answer = arrayOf<IntArray>()
for (i in 0 until arr1.size) {
var line = IntArray(arr2[0].size) {0}
for (j in 0 until arr2[0].size) {
for (c in arr2.indices) {
line[j] += arr1[i][c] * arr2[c][j]
}
}
answer += line
}
return answer
}
}
(Kotlin의 2차원 배열은 봐도봐도 안 익숙해진다...)
(반복문 iterator 이름 짓기 힘들다...)
반응형