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( )함수에 대해, 슬슬 그 존재를 의식하게 됐다.
코드 만족도: ★★★☆☆
'알고리즘_코딩테스트 > 프로그래머스_Level1' 카테고리의 다른 글
| 35. 별 찍기 (0) | 2020.09.12 |
|---|---|
| 34. X만큼 간격이 있는 n개의 숫자 (2) | 2020.09.12 |
| 32. 핸드폰 번호 가리기 (1) | 2020.09.12 |
| 31. 하샤드 수 (0) | 2020.09.12 |
| 30. 평균 구하기 (0) | 2020.09.12 |