๋ฌธ์ ์ค๋ช
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]] |
๋ด ๋ฌธ์ ํ์ด
func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -> [[Int]] {
var result = [[Int]]()
for i in 0..<arr1.count {
var tempArr = [Int]() // ํ ํ์ ๋ง๋ค์ด ๋ฃ์ ๋ฐฐ์ด ์์ฑ
for j in 0 ..< arr2[0].count { // arr2[0]์ ๊ธธ์ด๋งํผ ๊ณฑ์
์ด ์ํ๋ ๊ฒ,!,!,!
var sum = 0 // ๊ฐ์ ๋ํด์ค ๋ณ์ ์์ฑ
for k in 0 ..< arr1[0].count {
sum += arr1[i][k] * arr2[k][j] // ๋ฉ์ธ ๊ณ์ฐ์
}
tempArr.append(sum)
}
result.append(tempArr)
}
return result
}
- 3์ค for๋ฌธ์ ์ฌ์ฉํด ํ๋ ฌ์ ๊ณฑ์ ์ ๊ตฌํํด์ฃผ์๋ค.
- result ๋ฐฐ์ด์ ํ ํ์ฉ ๋ง๋ค์ด append ํด์ฃผ์๋ค.
๐ก ํผ๋๋ฐฑ
- ํ๋ ฌ ๊ณฑ์ ์ ์ฝ๋๋ก ๊ตฌํํ๋ ค๊ณ ํ๋ฉด ์ฌ์ฐ๋ฉด์ ์ข ๋ณต์กํด์ ์๊ฐ์ด ์์๋ณด๋ค ์ค๋๊ฑธ๋ฆฐ๋ค.ใ
- ๋ง์ด ํ์ด๋ด์ผ ํ ๊ฒ ๊ฐ๋ค.
๋ฌธ์
'3๏ธโฃ Swift > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift Algorithm] ์ต๋๊ฐ๊ณผ ์ต์๊ฐ Programmers(Lv.2) (0) | 2021.07.08 |
---|---|
[Swift Algorithm] ํผ๋ณด๋์น ์ Programmers(Lv.2) (0) | 2021.07.08 |
[Swift Algorithm] JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ Programmers(Lv.2) (0) | 2021.07.08 |
[Swift Algorithm] ์ต์๊ฐ ๋ง๋ค๊ธฐ Programmers(Lv.2) (0) | 2021.06.24 |
[Swift Algorithm] N๊ฐ์ ์ต์๊ณต๋ฐฐ์ Programmers(Lv.2) (1) | 2021.06.18 |
๋๊ธ