[Swift 알고리즘] 프로그래머스 LV1 - 11. 행렬의 덧셈

Updated:

프로그래머스 코딩테스트 연습문제 LV1 - 11. 행렬의 덧셈

11. 행렬의 덧셈

문제 설명

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

제한 조건

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

입출력 예

arr1 arr2 return
[[1,2],[2,3]] [[3,4],[5,6]] [[4,6],[7,8]]
[[1],[2]] [[3],[4]] [[4],[6]]

주어진 코드

func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -> [[Int]] {
    return []
}

제출한 코드

처음 제출한 코드

func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -> [[Int]] {
    var arrSum = [[Int]]()

    for i in 0..<arr1.count {
        var temp = [Int]()
        for j in 0..<arr1[i].count {
            temp.append(arr1[i][j] + arr2[i][j])
        }
        arrSum.append(temp)
    }

    return arrSum
}

다른 사람의 풀이 참고한 후 수정한 코드

func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -> [[Int]] {
    var arrSum = arr1

    for i in 0..<arr1.count {
        for j in 0..<arr1[i].count {
            arrSum[i][j] = arr1[i][j] + arr2[i][j]
        }
    }

    return arrSum
}

다시 푼 코드

func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -> [[Int]] {
    var result = arr1

    for i in 0..<arr1.count {
        for j in 0..<arr1[i].count {
            result[i][j] += arr2[i][j]
        }
    }

    return result
}

Leave a comment