프로그래머스 LV.1 모음
행렬의 덧셈
문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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]] |
제출
func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -> [[Int]] {
var sum: [[Int]] = Array(repeating: Array(repeating: 0,count:arr1[0].count), count: arr1.count)
for i in 0..<arr1.count{
for j in 0..<arr1[i].count{
sum[i][j] = arr1[i][j] + arr2[i][j]
}
}
return sum
}
arr1과 동일한 크기의 배열 sum을 생성한 뒤, arr1과 arr2의 각 행과 열의 합을 저장한다.
다른 풀이
import Foundation
func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -> [[Int]] {
return zip(arr1, arr2).map{zip($0,$1).map{$0+$1}}
}
zip 함수를 사용해 두 배열을 각 행과 열의 합으로 합친다.
반응형
'📖 Coding Test > Programmers LV.1' 카테고리의 다른 글
[프로그래머스 LV.1] 직사각형 별찍기 (0) | 2023.02.15 |
---|---|
[프로그래머스 LV.1] x만큼 간격이 있는 n개의 숫자 (0) | 2023.02.15 |
[프로그래머스 LV.1] 핸드폰 번호 가리기 (0) | 2023.02.14 |
[프로그래머스 LV.1] 하샤드 수 (0) | 2023.02.14 |
[프로그래머스 LV.1] 평균 구하기 (0) | 2023.02.14 |
댓글