프로그래머스 문제 : https://programmers.co.kr/learn/courses/30/lessons/70128
안녕하세요 ◠‿◠ 고고입니다.
이 문제를 총 3가지 방법으로 풀어보겠습니다.
1. for문
func solution(_ a:[Int], _ b:[Int]) -> Int {
var result = 0
for i in 0..<a.count {
result += a[i] * b[i]
}
return result
}
2. zip + reduce
func solution(_ a:[Int], _ b:[Int]) -> Int {
return zip(a, b).reduce(into: 0) { (result, element) in
result += (element.0 * element.1)
}
}
3. zip + map + reduce
func solution(_ a:[Int], _ b:[Int]) -> Int {
return zip(a, b).map(*).reduce(0, +)
}
'알고리즘' 카테고리의 다른 글
[Swift] find Two Missing Numbers (0) | 2022.01.11 |
---|---|
[Swift] 프로그래머스 - 하노이의 탑 (0) | 2022.01.10 |
[Swift] 2차원 배열 90도 회전 코드 (0) | 2021.11.18 |
[Python] 프로그래머스 - 키패드 누르기 (0) | 2021.11.03 |
[Swift] 프로그래머스 - 키패드 누르기 (0) | 2021.11.03 |
댓글