일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 프로그래머스SQL
- 머신러닝강의
- coursera
- 코세라머신러닝강의
- Algorithm
- sorted
- 프로그래머스
- 안드류응
- groupby
- 머신러닝
- Andrew NG
- 코세라강의
- map
- programmers
- 인프런sql강의
- 파이썬
- mysql
- sql오답노트
- 알고리즘
- POP
- Machine Learning
- PYTHON
- WHERE
- SQL공부
- 코세라
- DATE_FORMAT
- 코세라머신러닝
- orderby
- sql
- 경제공부
Archives
- Today
- Total
미래를 예측하는 데이터분석가
[Programmers] 프로그래머스 lv1 행렬의 덧셈 본문
1. 프로그래머스 행렬의 덧셈 문제
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
조건
- 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
n | return |
12345 | [5,4,3,2,1] |
arr1arr2return
[[1,2],[2,3]] | [[3,4],[5,6]] | [[4,6],[7,9]] |
[[1],[2]] | [[3],[4]] | [[4],[6]] |
모든 테스트를 통과한 풀이답안
def solution(arr1, arr2):
answer =[]
for a,b in zip(arr1,arr2):
answer.append([c+d for c,d in zip(a,b)])
return answer
여기서 key point는 zip함수를 떠오르는 것이다. 그 이유는 같은 index값들의 연산을 해 같은 위치에 리스트에 append해줘야하기 때문이다. 처음에는 어떻게 이중 리스트안에 넣을 수 있을까 고민하다 이중 for문을 돌리다 실패하였다.
그러다가 리스트에 덧셈이 된 리스트를 바로 append하는 방식을 취했다. 그러기위해선 이중 for문이 필요하지만 값을 더해서 바로 리스트로 뽑아낼 수 있는 리스트 컴프리헨션 반복문인 [표현식 for 항목 in 반복 가능한 객체]를 사용했다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[Programmers] 프로그래머스 lv.1 최대공약수와 최소공배수 (0) | 2021.02.04 |
---|---|
[Programmers] 프로그래머스 lv1 콜라츠 추측 (0) | 2021.02.02 |
[Programmers] 프로그래머스 lv1 자연수 뒤집어 배열로 만들기/정수 내림차순으로 배치하기 (0) | 2021.01.27 |
[Programmers] 프로그래머스 lv1 시저암호 (0) | 2021.01.25 |
[Programmers] 프로그래머스 완주하지 못한 선수 lv1 (0) | 2021.01.24 |