[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

좋은 웹페이지 즐겨찾기