๋‚ด์  - ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค(Swift)

2022. 9. 25. 14:09ใ†ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค-Swift

๋‚ด์  - ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค(Swift)

 

 

๋ฌธ์ œ ์„ค๋ช…

๊ธธ์ด๊ฐ€ ๊ฐ™์€ ๋‘ 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 ์ดํ•˜์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆabresult
[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 ์ž…๋‹ˆ๋‹ค.

 

๋ฌธ์ œ ์ ‘๊ทผ

๊ฐ๊ฐ์˜ ๋ฐฐ์—ด์š”์†Œ๋ฅผ ๊ณฑํ•ด์„œ ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ  reduce ํ•˜์ž

 

๋‚ด ํ’€์ด

๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด

ํ”ผ๋“œ๋ฐฑ

1. zipํ•จ์ˆ˜๋Š” ๋‘ ๊ฐœ์˜ ์ปฌ๋ ‰์…˜์„ ๋ฐ›์•„์„œ zipSequence๋ฅผ ๋งŒ๋“ ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๊ฒƒ๋“ค์— ๋Œ€ํ•ด map(*)์„ ํ•˜๋ฉด ๊ฐ๊ฐ์„ ๊ณฑํ•ด์ค€๋‹ค.