[Py_Lv1] 내적
문제 설명
길이가 같은 두 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 이하입니다.
입출력 예
접근법
우선, 리스트 a와 b의 동일한 인덱스에 위치한 값의 곱을 구하기 위해
for문을 이용해 각 리스트 내 인덱스 값을 0부터 [len(리스트): ]까지 불러와 곱하였습니다.
이후, for문 안에 sum 함수에 해당 값을 저장하여 최종적으로 sum 값을 반환해주었습니다.
동일한 index에 위치한 값의 곱을 구하는 문제이기 때문에 a 또는 b 둘 중 하나의 리스트의
길이만을 이용해 문제를 해결할 수 있었습니다.
약 6개월 후 이 문제를 다시 풀어 보았다.
나도 모르는 사이에 코드가 더 간결해졌다는 느낌을 받았다.
파이썬의 장정은 수 많음 함수를 이용해 쉽고 간결하게 코드를
작성하는데 있다고 생각한다.
전 보다 코드가 발전한 모습을 발견할때면 많은 재미를 느끼는것 같다.
===========================================================
def solution(a, b):
sum = 0
for i in range(len(a)):
sum += a[i] * b[i]
answer = sum
return answer
↓복습 시 작성한 코드
def solution(a, b):
answer = 0
for i, j in zip(a,b):
answer += i * j
return answer
Author And Source
이 문제에 관하여([Py_Lv1] 내적), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ysh/프로그래머스-Python-두-개의-리스트를-곱한-후-각-인덱스-값의-합-구하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)