Programmers - 내적(Python)

문제

길이가 같은 두 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) + 30 + 42 = 3 입니다.
  • 입출력 예 #2

    • a와 b의 내적은 (-1)1 + 00 + 1*(-1) = -2 입니다.

✍ 코드

def solution(a, b):
    # 리턴할 값 answer
    answer = 0 

    # (1)
    for val_1, val_2 in zip(a, b):
        answer += (val_1 * val_2)

    # answer 리턴하기
    return answer

(1): zip을 이용하여 a와 b의 각 n번째 요소를 곱한 값을 anwer에 합산하였다.

📝 결과

😃 느낀점

zip() 메소드를 이용해서 처음으로 문제를 해결해보았다. 이전에는 for문 등을 이용해서 문제를 해결하고자 했는데 훨씬 간단하게 매칭 시켜주는 zip()을 먼저 생각해서 문제에 접근한 것이 너무 뿌듯하다.

👍 Irish의 모든 코드 보기

Irish Github

좋은 웹페이지 즐겨찾기