codekata

[프로그래머스] #32 내적 (zip 함수)

kinggoddino 2024. 8. 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 이하입니다.

 

▶ 풀이

def solution(a, b):
    return sum(a[i]*b[i] for i in range(len(a)))

통과!

이번엔 문제에 그냥 어떻게 풀어야할지가 적혀있어서 그림그릴 필요가 없엇다.

 

+

zip() 함수는 여러개의 시퀀스를 병렬로 묶어 튜플의 리스트를 생성한다

따라서 a, b 두 개의 시퀀스를 zip으로 묶어 요소를 동시에 돌아주면서 풀 수 있다.

def solution(a, b):
    return sum(x*y for x, y in zip(a,b))