사진찍는 개발자📸👩‍💻

[프로그래머스/파이썬] 내적 본문

develop/Python

[프로그래머스/파이썬] 내적

hsleeee 2024. 8. 2. 17:16
반응형
SMALL

[문제]

문제 설명
	길이가 같은 두 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 이하입니다.

 

[답안]

def solution(a, b):
    answer = 0
    
    for v in range(0, len(a)):
        answer += a[v] * b[v]
    
    return answer

 

[풀이]

 

range 함수를 통하여 list a의 길이만큼 반복하는 반복문을 만들고

내적 공식을 이용하여 answer에 값에 a[v] * b[v] 값을 더하여 답을 구하였다.

 

[맘에 드는 답변]

def solution(a, b):

    return sum([x*y for x, y in zip(a,b)])

zip() 함수: 여러 iterable (예: 리스트, 튜플 등) 들을 묶어서 각 iterable의 동일한 위치에 있는 요소들을 하나의 튜플로 만드는 데 사용됩니다.

 

ex)

# 두 개의 리스트를 zip 함수로 묶기
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']

zipped = zip(list1, list2)
print(list(zipped))  # [(1, 'a'), (2, 'b'), (3, 'c')]

 

[문제 풀어보기]

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

반응형
LIST