본문 바로가기
알고리즘

[Swift] 프로그래머스 – 내적

by 고고 2021. 11. 4.

프로그래머스 문제 : 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, +)
}

 

댓글