본문 바로가기

자료구조 & 알고리즘 & cs/CodingTest

프로그래머스 LEVEL1 - 내적

▶ 문제 설명

길이가 같은 두 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 이하입니다.

▶ 입출력 예

[1,2,3,4] [-3,-1,0,2] 3
[-1,0,1] [1,0,-1] -2

▶ 내가 짠 코드

def solution(a, b):
    answer = 0
    length = len(a)
    
    for i in range(length):
        answer += a[i]*b[i]
    return answer

▶ 참고사항

다른사람의 풀이를 참고해보니

def solution(a, b):

    return sum([x*y for x, y in zip(a,b)])

zip() 함수를 사용하여 간단하게 끝냈다.

zip은 순회가능한 객체를 인자로 받아 각 원소를 튜플 형태로 접근할 수 있는 반복자를 반환한다.

유용하게 쓰일 것 같으니 참고해두자.

728x90