개인 공부/프로그래머스

[프로그래머스] Lv.1 행렬의 덧셈 swift

임구마🍠 2024. 7. 22. 16:03


 

나의 풀이

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..<result.count {
        for j in 0..<result[0].count {
            result[i][j] = arr1[i][j] + arr2[i][j]
        }
    }
    
    return result
}

- 배열 생성 후 이중 for문으로 접근해 덧셈 연산

 

 

다른 사람의 풀이

func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -> [[Int]] {
    return zip(arr1, arr2).map { zip($0,$1).map { $0+$1 } }
}

- zip 연산자로 쌍을 이루어 map으로 배열 순회하며 각 값끼리 더한 뒤 동일한 배열 형식으로 반환

- zip 연산자 사용하니 엄청 간단하네요.. 배우고 갑니다!

 

 

💡zip 연산자란?

 

[Swift] 두 배열을 쌍을 이루고 싶다면? > zip

코테 문제 풀어보다가 2차원 배열의 합을 구해야하는 문제가 있었다.나는 for문 두번 돌려서 풀었는데 다른 사람 풀이에 zip 연산자를 사용한게 있어서 알아보려고 한다! "두 개의 기본 시퀀스로

im-gu-ma.tistory.com