728x90
https://programmers.co.kr/learn/courses/30/lessons/12950
프로그래머스 레벨1에서 '행렬의 덧셈' 문제를 풀었다.
쉽다고 생각하고 풀었는데 막상 아이디어가 떠오르지 않아 시간을 생각보다 많이 썼다.
2차원 배열로 어떻게 출력을 할 수 있을까 생각을 하다가 굳이 answr라는 list를 만들어서 거기에 넣을 필요가 없을 것 같았다. 꼼수를 부릴 수 있을 것 같았고 arr1의 원소와 같은 위치에 있는 arr2의 원소들을 더해 주기만 하면 answr 리스트 없이 정답을 출력할 수 있었다.
정답 코드
def solution(arr1, arr2):
for i in range(len(arr1)) :
for j in range(len(arr1[0])) :
arr1[i][j] += arr2[i][j]
return arr1
다른 사람들의 풀이
def sumMatrix(A,B):
answer = [[c + d for c, d in zip(a, b)] for a, b in zip(A,B)]
return answer
다른 사람들은 zip을 이용해서 풀었다. 각각의 원소들을 더하기 위해 zip을 사용하여 풀 수도 있다는 걸 알게 되었다..!
728x90