list a와 b에서 같은 index의 아이템들끼리 곱한 후, 전체 합을 구하여 반환한다.
def solution(a, b):
return sum([a[i] * b[i] for i in range(len(a))])
fun solution(a: IntArray, b: IntArray): Int =
(0 until a.size).map { a[it] * b[it] }.sum()
zip(*iterable)
을 사용하여 동일한 개수로 이루어진 iterable
자료형 변수를 묶어 사용하자.list(zip([1, 2, 3], [4, 5, 6], [7, 8, 9])) # [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
list(zip("abc", "def")) # [('a', 'd'), ('b', 'e'), ('c', 'f')]
def solution(a, b):
return sum([x * y for x, y in zip(a,b)])
list1.zip(list2)
함수로 2개의 리스트를 묶을 수 있다. 동일한 index 끼리 묶이므로 size가 다르다면, 작은 크기까지만 반환된다: List<Pair<A, B>>
코드
fun solution(a: IntArray, b: IntArray): Int =
a.zip(b).map { it.first * it.second }.sum()