2024. 3. 28. 11:41, ๐กAlgorithm
๋ฐ์ํ
๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/12950
์ ๊ทผ
class Solution {
fun solution(arr1: Array<IntArray>, arr2: Array<IntArray>): Array<IntArray> {
return (arr1.size).map{it -> (arr1[i].toInt() + arr2[i].toInt())}
}
}
- ์์ ๊ฐ์ด arr1.size ๋งํผ map์ ์ด์ฉํด ํ๊ณ ์ถ์๋๋ฐ ์์ง ์ฌ์ฉ๋ฒ์ด ์ต์์น ์์ ์ ์ ๋๋ค.
class Solution {
fun solution(arr1: Array<IntArray>, arr2: Array<IntArray>): Array<IntArray> =
Array(arr1.size) { i ->
arr1[i] + arr2[i]
}
}
- ๊ทธ๋์ ์ด๋ ๊ฒ ํ๋๋ ์ ๋ต๊ณผ ๋ฌ๋๋ค. arr1๊ณผ arr2๋ ์ผ์ฐจ์ ๋ฐฐ์ด์ด ์๋๋ผ, ๋ค์ฐจ์ ๋ฐฐ์ด์ด๋ผ๋ ๊ฑธ ๊นจ๋ฌ์๋ค.
- ์์ ์ฝ๋๋ [[1,2],[2,3]] [[3,4],[5,6]] ์ ๋ ฅ ์ [[4,6],[7,9]]์ด ์๋๋ผ, [[1,2,3,4],[2,3,5,6]] ์ด ์ถ๋ ฅ๋๋ค.
์ฑ๊ณต ์ฝ๋
class Solution {
fun solution(arr1: Array<IntArray>, arr2: Array<IntArray>): Array<IntArray> =
Array(arr1.size) { i ->
IntArray(arr1[0].size) { j ->
arr1[i][j] + arr2[i][j]
}
}
}
์ค๋ช
- Array(arr1.size)
arr1.size ๋งํผ์ Array๋ฅผ ๋ง๋ ๋ค. - Array(arr1.size) { i -> ... }
์๋ก์ด 2์ฐจ์ ๋ฐฐ์ด์ ์์ฑํ๋ค. ์ด ๋ฐฐ์ด์ ํฌ๊ธฐ๋ arr1์ ํ์ ์์ ๋์ผํ๋ค.
๊ฐ๊ฐ์ ์๋ฆฌ๋ฉํธ์ ๊ฐ์ ๋ฃ์ด์ฃผ๊ธฐ ์ํด i -> ๋ฅผ ์ฌ์ฉํ๋ค. - IntArray(arr1[0].size) { j -> ... }
๊ฐ ํ์ ์์๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํด ์๋ก์ด ํ์ ์์ฑํ๋ค. ์ด ํ์ ํฌ๊ธฐ๋ arr1์ ์ด์ ์์ ๋์ผํ๋ค. - arr1[i][j] + arr2[i][j]
arr1๊ณผ arr2์ ๊ฐ์ ์์น์ ์๋ ์์๋ฅผ ๋ํ๋ค. ์ด๋ฅผ ํตํด ์๋ก์ด ํ๋ ฌ์ ํด๋น ์์น์ ๊ฐ์ ๊ตฌํ๋ค. - ํด๋น Array๋ฅผ ์ถ๋ ฅํ๋ค.
- ๋ค๋ง ๊ถ๊ธํ ์ ์ ์ง๊ธ ํ ์คํธ ์ผ์ด์ค๊ฐ ์ต๋ 2์ฐจ์ ๋ฐฐ์ด์ด๋๊น ์ด๋ ๊ฒ ํ๋ฆฌ๋๋ฐ, ๋ง์ฝ ๋ ๋ฐฐ์ด์ ์ฐจ์์ด ๋์์ง๋ค๋ฉด ์ด๋ป๊ฒ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋์ง ๊ถ๊ธํด์ก๋ค.
๋ค๋ฅธ ๋ฐฉ๋ฒ
class Solution {
fun solution(arr1: Array<IntArray>, arr2: Array<IntArray>): Array<IntArray> {
return arr1.mapIndexed { i, e1 -> e1.mapIndexed { j, e2 -> e2 + arr2[i][j] }.toIntArray() }.toTypedArray()
}
}
- mapIndexed์ toTypedArray()๋ฅผ ์ด์ฉํ๋ค.
- arr1.mapIndexed { i, e1 -> ... }
arr1์ ๊ฐ ํ(e1)๊ณผ ํด๋น ํ์ ์ธ๋ฑ์ค(i)์ ๋ํด ๋งคํ - e1.mapIndexed { j, e2 -> ... }
๊ฐ ํ(e1)์ ์์(e2)์ ํด๋น ์์์ ์ธ๋ฑ์ค(j)์ ๋ํด ๋งคํ - e2 + arr2[i][j]
ํ์ฌ ์์(e2)์ arr2์ ๋์ผํ ์์น์ ์๋ ์์๋ฅผ ๋ํ์ฌ ์๋ก์ด ์์ ๊ฐ์ ์์ฑ - .toIntArray()
์๋ก์ด ํ์ IntArray๋ก ๋ณํํ์ฌ ํ์ฌ ํ์ ๊ฐ์ ๊ฐฑ์ - .toTypedArray()
๋ณํ๋ ํ๋ค์ ๋ค์ ๋ฐฐ์ด๋ก ๋ณํํ์ฌ ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ
๋ฐ์ํ
๐ฌ C O M M E N T