πŸ—οΈ Algorithm/⬛ ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€

[Programmers] [μ›”κ°„ μ½”λ“œ μ±Œλ¦°μ§€ μ‹œμ¦Œ1] [Python] Level1_내적

Dbswnstjd 2022. 3. 21. 00:21

https://programmers.co.kr/learn/courses/30/lessons/70128

 

μ½”λ”©ν…ŒμŠ€νŠΈ μ—°μŠ΅ - 내적

길이가 같은 두 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의

programmers.co.kr

풀이

# ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ 1단계 - 내적
def solution(a,b):
    answer = 0
    for i in range(len(a)):
        answer += a[i] * b[i]
    return answer

# 풀이 2
def solution(a, b):
    
    return sum([x*y for x, y in zip(a,b)])

이번 문제λ₯Ό 톡해 zip λ‚΄μž₯ ν•¨μˆ˜λ₯Ό μ•Œκ²Œ λ˜μ—ˆλ‹€.


zip μ‚¬μš©λ²•

>>> numbers = [1, 2, 3]
>>> letters = ["A", "B", "C"]
>>> for pair in zip(numbers, letters):
...     print(pair)
...
(1, 'A')
(2, 'B')
(3, 'C')