Where who wants to meet someone
행렬의 덧셈 본문
728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12950
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내 답안 / 다른 사람들의 답안
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[i].count {
result[i][j] = arr1[i][j] + arr2[i][j]
}
}
return result
}
- 각 행과 열의 항목을 더한 배열을 반환하는 방법을 사용했다.
// 풀이 1
import Foundation
func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -> [[Int]] {
return zip(arr1, arr2).map{zip($0,$1).map{$0+$1}}
}
// 풀이 2
func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -> [[Int]] {
var arr: [[Int]] = []
for n in 0..<arr1.count {
var temp:[Int] = []
for m in 0..<arr1[n].count {
temp.append(arr1[n][m] + arr2[n][m])
}
arr.append(temp)
}
return arr
}
- zip을 사용해보려 했지만 단순히 배열을 합치는 정도여서 반복문을 사용했는데, 풀이 1과 같은 방법으로 사용하면 됨을 알 수 있었다.
점수: +1
'프로그래머스 알고리즘 문제 기록 > Lv. 1' 카테고리의 다른 글
3진법 뒤집기 (0) | 2024.05.25 |
---|---|
직사각형 별찍기 (0) | 2024.05.19 |
문자열 다루기 기본 (0) | 2024.05.16 |
부족한 금액 계산하기 (0) | 2024.05.16 |
문자열 내림차순으로 배치하기 (0) | 2024.05.16 |