코딩테스트 연습 - 행렬의 덧셈
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요
programmers.co.kr
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
arr1 | arr2 | return |
[[1,2],[2,3]] | [[3,4],[5,6]] | [[4,6],[7,9]] |
[[1],[2]] | [[3],[4]] | [[4],[6]] |
1
2
3
4
5
6
7
|
import numpy as np
def solution(a,b):
A = np.array(a)
B = np.array(b)
answer = A+B
return answer.tolist()
|
cs |
numpy를 활용해서 입력받은 a와 b를 array로 변환시키고 answer에 이를 더한 값을 저장한다. answer에 tolist 함수를 활용해서 np.array 형식을 list형식으로 변환하여 return 한다.
1
2
3
|
def solution(arr1, arr2):
answer = [[c+d for c,d in zip(a,b)] for a, b in zip(arr1, arr2)]
return answer
|
cs |
zip을 이용해 입력 받은 arr1과 arr2를 묶고 이를 for문을 통해 a, b로 할당한다. 그리고 a, b를 for문을 활용해 c, d로 할당하고 이를 더한 다음에 [] 를 활용해 list로 만들고 이를 return 한다.
만약에, answer = [c+d for c, d in zip(arr1, arr2)]를 하면 결과는 [[1,3], [2,4]] 라고 나온다.
[프로그래머스/Level1/파이썬3] 최대공약수와 최소공배수 (0) | 2020.10.26 |
---|---|
[프로그래머스/Level1/파이썬3] 약수의 합 (0) | 2020.10.25 |
[프로그래머스/Level1/파이썬3] 자릿수 더하기 (0) | 2020.10.21 |
[프로그래머스/Level1/파이썬3] 같은 숫자는 싫어 (0) | 2020.10.20 |
[프로그래머스/Level1/파이썬3] 소수 찾기 (0) | 2020.10.13 |