내가 푼 방식
def solution(arr1, arr2):
for i in range(0, len(arr1)):
for j in range(0, len(arr1[0])):
arr1[i][j]+=arr2[i][j]
return arr1
다른 해결 방법
zip 함수를 이용해라!
- zip 함수는 두 개 이상의 리스트에 같은 인덱스(index)의 값끼리 Tuple 자료형으로 묶어주는(packing) 기능을 한다.
- zip 함수를 활용할 때, Tuple 튜플 자료형에 대한 특성(unpacking하는 법)을 알면 잘 활용할 수 있다.
- https://kyull-it.tistory.com/126
이러한 특징으로, 아래의 예시처럼 zip 함수를 활용할 수 있다.
arr1 = [[1,2], [2,3]]
arr2 = [[3,4], [5,6]]
zip(arr1, arr2)
# Output
# <zip object at 0x0000027ED4ECF700>
for x in zip(arr1, arr2):
print(x)
# Output
# ([1, 2], [3, 4])
# ([2, 3], [5, 6])
for x in zip(arr1, arr2):
for y in zip(*x):
print(y)
print('-')
# Output
# (1, 3)
# (2, 4)
# -
# (2, 5)
# (3, 6)
# -
for x in zip(arr1, arr2):
for a,b in zip(*x):
print(a+b)
print('-')
# Output
# 4
# 6
# -
# 7
# 9
# -
따라서 이런 솔루션들이 나올 수 있다.
def solution1(arr1, arr2):
return [[c+d for c, d in zip(a,b)] for a,b in zip(arr1, arr2)]
solution1(arr1, arr2)
# output : [[4, 6], [7, 9]]
def solution2(arr1, arr2):
return [list(map(sum, zip(*x))) for x in zip(arr1, arr2)]
solution2(arr1, arr2)
# output : [[4, 6], [7, 9]]
'Programming > python' 카테고리의 다른 글
[파이썬 기초] 문자열(string) 앞뒤로 원하는 문자 붙이기 (0) | 2023.05.11 |
---|---|
[파이썬 기초] 문자열 format 사용법 (0) | 2023.05.11 |
[파이썬 기초] 파이썬 자료형의 모든 것! (1) | 2023.03.14 |
[파이썬 기초] 문자열 연산의 모든 것! (0) | 2023.03.14 |
[파이썬 기초] 파이썬 연산의 모든 것! (Python Operators CheatSheet) (0) | 2023.03.11 |