국문과 유목민

33. 행렬의 덧셈 본문

알고리즘_코딩테스트/프로그래머스_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차원 배열을 기존 배열에 삽입하는 방법에 대해 고민하다가 이 부분을 참고를 하게 되었다.

  1. return을 할 리스트 변수 생성
  2. list를 돌면서 각 행렬의 값을 더하고, 그 값을 임시 리스트(temp)에 넣어준다.
  3. 그 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( )함수에 대해, 슬슬 그 존재를 의식하게 됐다. 


코드 만족도: ★★★☆☆


'알고리즘_코딩테스트 > 프로그래머스_Level1' 카테고리의 다른 글

35. 별 찍기  (0) 2020.09.12
34. X만큼 간격이 있는 n개의 숫자  (0) 2020.09.12
32. 핸드폰 번호 가리기  (0) 2020.09.12
31. 하샤드 수  (0) 2020.09.12
30. 평균 구하기  (0) 2020.09.12
Comments