프로그래머스 문제 : https://programmers.co.kr/learn/courses/30/lessons/70128
코딩테스트 연습 - 내적
길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의
programmers.co.kr
안녕하세요 ◠‿◠ 고고입니다.
이 문제를 총 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 |
댓글