알고리즘_코딩테스트/프로그래머스_Level1
33. 행렬의 덧셈
논곰
2020. 9. 12. 22:53
0. 문제
링크) https://programmers.co.kr/learn/courses/30/lessons/12950
코딩테스트 연습 - 행렬의 덧셈
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요
programmers.co.kr
1. 알고리즘 계획
※ 알고리즘을 검색해서 참고했다.
- 2차원 배열을 기존 배열에 삽입하는 방법에 대해 고민하다가 이 부분을 참고를 하게 되었다.
- return을 할 리스트 변수 생성
- list를 돌면서 각 행렬의 값을 더하고, 그 값을 임시 리스트(temp)에 넣어준다.
- 그 temp값을 answer리스트에 넣어준다.
2. 나의 코드
def solution(arr1, arr2):
answer = []
for i in range(len(arr1)):
temp = []
for j in range(len(arr1[i])):
temp.append(arr1[i][j]+arr2[i][j])
answer.append(temp)
return answer
3. 다른 사람의 코드
def solution(arr1, arr2):
return [[c+d for c, d in zip(a, b)] for a, b in zip(A,B)]
- zip함수와 list Comprehension을 잘 사용했다
4. 정리 및 리뷰
- 우선 문제를 풀다가 한 부분에서 막혀 알고리즘을 검색했다는 데에서 아쉽다.
- 계속해서 조금씩 등장하는 zip( )함수에 대해, 슬슬 그 존재를 의식하게 됐다.
코드 만족도: ★★★☆☆