문제 출처

문제 설명

행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.


제한 조건
  • 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.

입출력 예
arr1 arr2 return
[[1, 2], [2, 3]] [[3, 4], [5, 6]] [[4, 6], [7, 9]]
[[1], [2]] [[3], [4]] [[4], [6]]

풀이

2차원 배열을 다루는 간단한 문제입니다.
2개의 2차원 배열의 각 요소들의 합을 구해 결과를 반환해주면 되므로 2중 반복문을 통해 각 요소들을 더해서 풀어봤습니다.

1
2
3
4
5
6
7
8
9
10
11
func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -> [[Int]] {
  var result = Array(repeating: Array(repeating: 0, count: arr1[0].count), count: arr1.count)
    
  for i in 0..<arr1.count {
    for j in 0..<arr1[0].count {
      result[i][j] = arr1[i][j] + arr2[i][j]
    }
  }

  return result
}
  1. 입력으로 주어지는 2개 배열의 길이가 같으므로 정답도 같은 길이의 배열입니다. 따라서 정답을 반환 할 배열을 생성해 줍니다.
  2. 2중 for문을 통해 2개 배열의 같은 요소의 합을 result 배열에 넣어줍니다
실행 결과

스크린샷 2022-08-04 오후 2 48 02

업데이트:

댓글남기기