728x90
문제링크 : https://programmers.co.kr/learn/courses/30/lessons/12950
코딩테스트 연습 - 행렬의 덧셈
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요
programmers.co.kr
행렬의 덧셈
numpy를 쓰면 한방에 해결되긴 할텐데 직접해보고 싶었다.
케이스별로 행, 열의 갯수가 다르기 때문에 각각의 행과 열의 갯수를 세고 더해주는 과정이 필요해보였다.
def solution(arr1, arr2):
answer = []
for i in range(len(arr1)):
tmp = []
for j in range(len(arr1[0])):
tmp.append(arr1[i][j] + arr2[i][j])
answer.append(tmp)
return answer
이중 반복문이라서 마음에 들진 않지만 당장 생각나는게 이런것이라 ㅠㅠ
항상 나는 코테만 하면 가장 basic한 방법이 떠올라버린다 ㅠㅠ
행렬처럼 보여야하기에 answer를 빈리스트로 만들고
tmp를 매번 더해주었다.
0행 0열끼리 다 더해주고, 0행 1열끼리 다 더해주고....
1행 0열, 1행 1열 ....
이런식으로 진행될 수 있도록
다른사람의 풀이를 보니 zip 을 사용했다. zip도 요즘 참 많이 쓴 함수인데 왜 생각이 안났을까
ㅠㅠㅠㅠ
그사람도 이중반복문이라 뭔가 아쉽긴해도 내꺼보단 확실히 연산이 빠를 것같은 코드였다.
728x90
'코딩테스트' 카테고리의 다른 글
[프로그래머스]이상한 문자 만들기 (0) | 2021.12.07 |
---|---|
[프로그래머스]x만큼 간격이 있는 n개의 숫자 (0) | 2021.12.05 |
[프로그래머스]없는 숫자 더하기 (0) | 2021.12.05 |
[프로그래머스]최소직사각형 (0) | 2021.12.05 |
[프로그래머스]나머지가 1이 되는 수 찾기 (0) | 2021.12.04 |