[프로그래머스][LV.1] 내적 | python3

2025. 1. 16. 18:15프로그래머스/LV.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 이하입니다.

 


문제 풀이

처음엔 배열이 아니라 정수인줄 알고 어떻게 풀까 고민했는데 (len으로 길이 구해서 그 길이 만큼 10을 곱해서 나눈 몫을 활용하려고 함) 다시 보니 배열이었다. 한결 쉬워졌다.

 

내코드

def solution(a, b):
    answer = 0
    for n,m in zip(a,b):
        answer+=n*m
    return answer

 

 


더보기

다른사람풀이

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

이런 한줄로 끝내는 코드나 람다 함수는 보면 맞아 이런 방법이 있었지 하고 생각이 나는데 풀때는 전혀 생각이 안난다. 다음에 한 번 비슷한 문제 있으면 꼭 활용해 봐야지