๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿงฉ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/๐Ÿต ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด(Java)

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_๋‚ด์ 

by carrot0911 2024. 11. 19.

๋ฌธ์ œ ์„ค๋ช…

๊ธธ์ด๊ฐ€ ๊ฐ™์€ ๋‘ 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์˜ ๊ธธ์ด)
https://school.programmers.co.kr/learn/courses/30/lessons/70128

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

์ œํ•œ ์‚ฌํ•ญ

  • 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 ์ž…๋‹ˆ๋‹ค.

 

๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ

class Solution {
    public int solution(int[] a, int[] b) {
        int answer = 0;
        
        for (int i = 0; i < a.length; i++) {
            answer += a[i] * b[i];
        }
        
        return answer;
    }
}

์ฝ”๋“œ ์„ค๋ช…

  • int answer = 0 : ๊ฒฐ๊ณผ๊ฐ’์„ ์ €์žฅํ•  int ํƒ€์ž…์˜ answer ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  • for (int i = 0; i < a.length; i++) { } : ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ i๊ฐ€ 0๋ถ€ํ„ฐ a.length - 1๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค. a์™€ b์˜ ๊ธธ์ด๊ฐ€ ๊ฐ™์œผ๋ฏ€๋กœ b.length๋ผ๊ณ  ํ•ด๋„ ์ƒ๊ด€์—†๋‹ค.
    • answer += a[i] * b[i] : answer ๋ณ€์ˆ˜์— a์˜ i๋ฒˆ์งธ ๊ฐ’๊ณผ b์˜ i๋ฒˆ์งธ ๊ฐ’์˜ ๊ณฑ์„ answer์— ๋”ํ•ด์ค€๋‹ค.