문제 설명 |
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. |
제한 조건 |
|
입출력 예 | ||
arr | arr2 | return |
[[1,2],[2,3]] | [[3,4],[5,6]] | [[4,6],[7,9]] |
[[1],[2]] | [[3],[4]] | [[4],[6]] |
나의 풀이
1. 다차원 배열 answer 선언
2. arr1과 arr2의 값들을 더해서 answer에 넣고 리턴
class Solution {
fun solution(arr1: Array<IntArray>, arr2: Array<IntArray>): Array<IntArray> {
val answer: Array<IntArray> = Array(arr1.size) { IntArray(arr1[0].size) }
for (i in arr1.indices) {
for (j in arr1[0].indices) {
answer[i][j] = arr1[i][j] + arr2[i][j]
}
}
return answer
}
}
코틀린은 arrayOf()로 많이 만들어봐서 다차원 배열인 Array<IntArray>를 선언하는 방법을 몰라 헤맸다. 결국 자바 int[][] answer = new int[arr1.size][arr1[0].size]; 를 코틀린으로 변환해서 풀었다... 인텔리제이 감사 ㅠ |
Kotlin 코드 정리
class Solution {
fun solution(arr1: Array<IntArray>, arr2: Array<IntArray>): Array<IntArray> {
return Array(arr1.size) {
row ->
IntArray(arr1[0].size) { // = size.length
col ->
arr1[row][col] + arr2[row][col]
}
}
}
}
'프로그래머스 > Kotlin | Level1' 카테고리의 다른 글
[프로그래머스/Kotlin]Level1 - 자연수 뒤집어 배열로 만들기 (0) | 2021.09.17 |
---|---|
[프로그래머스/Kotlin]Level1 - 핸드폰 번호 가리기 (0) | 2021.09.15 |
[프로그래머스/Kotlin]Level1 - 가운데 글자 가져오기 (0) | 2021.08.25 |
[프로그래머스/Kotlin]Level1 - 최대공약수와 최소공배수 (0) | 2021.08.25 |
[프로그래머스/Kotlin]Level1 - 약수의 합 (0) | 2021.08.17 |