๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โŒจ๏ธ Language/swift

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.1] ๋‚ด์ 

by hyebin (Helia) 2023. 3. 3.
๋ฐ˜์‘ํ˜•
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.1 ๋ชจ์Œ

๋‚ด์ 

๋ฌธ์ œ ์„ค๋ช…

๊ธธ์ด๊ฐ€ ๊ฐ™์€ ๋‘ 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์˜ ๊ธธ์ด)

์ œํ•œ ์‚ฌํ•ญ

  • a, b์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 1,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
  • a, b์˜ ๋ชจ๋“  ์ˆ˜๋Š” -1,000 ์ด์ƒ 1,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

a b result
[1,2,3,4] [-3,-1,0,2] 3
[-1,0,1] [1,0,-1] -2

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • a์™€ b์˜ ๋‚ด์ ์€ 1*(-3) + 2*(-1) + 3*0 + 4*2 = 3 ์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • a์™€ b์˜ ๋‚ด์ ์€ (-1)*1 + 0*0 + 1*(-1) = -2 ์ž…๋‹ˆ๋‹ค.

์ œ์ถœ

import Foundation

func solution(_ a:[Int], _ b:[Int]) -> Int {
    var sum = 0
    for i in 0..<a.count{
        sum += (a[i] * b[i])
    }
    return sum
}
a, b ๋‘ ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ๊ณฑํ•œ ํ›„ sum ๋ณ€์ˆ˜์— ๋”ํ•œ๋‹ค.

๋‹ค๋ฅธ ํ’€์ด 

import Foundation

func solution(_ a:[Int], _ b:[Int]) -> Int {
    return zip(a, b).map(*).reduce(0, +)
}
๋ฐ˜์‘ํ˜•