""" 1번: 나의 풀이 (단순 구현) """
def solution(arr1, arr2):
ans = [0] * len(arr1)
for i in range(len(arr1)):
tmp = []
ans[i] = tmp
for j in range(len(arr1[0])):
tmp.append(arr1[i][j] + arr2[i][j])
return ans
""" 2번: 나의 풀이 (zip 1번 사용) """
def solution2(arr1, arr2):
ans = []
for a1, a2 in zip(arr1, arr2):
x = 0
tmp = [0] * len(a1)
for _ in range(len(a2)):
tmp[x] = a1[x] + a2[x]
x += 1
ans.append(tmp)
return ans
""" 3번: 다른 사람의 풀이 (zip 2번 사용) """
def solution3(arr1, arr2):
return [[c + d for c, d in zip(a,b)] for a,b in zip(arr1, arr2)]
""" 4번: 다른 사람의 풀이 (배열 재활용) """
def solution4(arr1, arr2):
for i in range(len(arr1)):
for j in range(len(arr1[0])):
arr1[i][j] += arr2[i][j]
return arr1
""" 5번: 다른 사람의 풀이 (zip 두 번, 포인터 활용) """
def solution5(arr1, arr2):
return [list(map(sum, zip(*x))) for x in zip(arr1, arr2)]
> 확인하기
- zip, map 등이 느린 함수라고 생각했는데 전혀 아니었다. 가독성은 물론이고 효율성에서도 좋았다!
'> 알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
lv1-같은 숫자는 싫어 (python, 파이썬) (0) | 2020.10.22 |
---|---|
lv1-x만큼 간격이 있는 n개의 숫자 (python, 파이썬) (0) | 2020.10.22 |
lv1-직사각형 별찍기 (python, 파이썬) (0) | 2020.10.22 |
lv1-서울에서 김서방 찾기 (python, 파이썬) (0) | 2020.10.22 |
lv1-이상한 문자 만들기 (python, 파이썬) (0) | 2020.10.21 |
댓글