1) 문제
클릭▼
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
* 내적이란 각 a와 b의 같은 index의 수를 곱한 것들의 합입니다.
(a[1] * b[1]) + (a[2] * b[2]) + ...


2) 코드

3) 코드 설명
* 내적이란 각 a와 b의 같은 index의 수를 곱한 것들의 합입니다.
(a[1] * b[1]) + (a[2] * b[2]) + ...
① return sum([x*y for x, y in zip(a,b)])
# zip() 함수는 동일한 개수로 이루어진 자료형을 묶어 주는 역할을 한다.
여러 개의 iterable 객체를 받은 후 자료형 들을 묶어서 튜플 형태로 출력해준다.
# iterable 이란 반복 가능하다는 뜻인데 한번에 하나씩 자료를 반환할 수 있는 파이썬 객체이다.
간단히 말해 for문으로 그 값을 출력 할 수 있는 것을 의미하며 리스트, 튜플, 딕셔너리 등을 말한다.

# ↑위의 결과를 보면 list a와 list b를 zip 함수로 묶어서
list a의 요소를 x로, list b의 요소를 y로 해서 print(x, y)를 하면
각 list의 동일한 index 끼리 짝지어서 출력된다.
# x와 y를 곱해서 출력하면 ↓밑에 처럼 나오고 이 숫자들을 다 더해서(sum) 결과를 return 한다.

# 즉, (-3) + (-2) + 0 + 8 = 3이 return 된다.
'코딩 연습' 카테고리의 다른 글
[프로그래머스] 체육복 (python) (0) | 2022.05.10 |
---|---|
[카카오] 1차 다트 게임 (python) (0) | 2022.05.04 |
[프로그래머스] 로또의 최고 순위와 최저 순위 (python) (0) | 2022.04.28 |
[카카오] 크레인 인형 뽑기 게임(python) (0) | 2022.04.25 |
[카카오] 신고 결과 받기(python) (0) | 2022.04.18 |