▶ 문제 설명
길이가 같은 두 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
'자료구조 & 알고리즘 & cs > CodingTest' 카테고리의 다른 글
프로그래머스 LEVEL1 - 완주하지 못한 선수 (0) | 2022.06.09 |
---|---|
프로그래머스 LEVEL1 - 소수 만들기 (0) | 2022.06.09 |
프로그래머스 LEVEL1 - 음양 더하기 (0) | 2022.06.08 |
프로그래머스 LEVEL 1 - 없는 숫자 더하기 (0) | 2022.06.08 |
프로그래머스 LEVEL1 - 크레인 인형뽑기 게임 (0) | 2022.06.07 |