본문 바로가기

알고리즘 & 코딩테스트/코딩테스트

Programmers Lv1. "행렬의 덧셈"

Programmers Lv1. 행렬의 덧셈, 연습문제, 정답률 78%

과거엔 고등학교때 배웠던 "행렬연산"이다. 필자도 고등학교때 교육과정의 변화로 배우지 않았는데 대학가서 어차피 배웠어야 했다고 궁시렁궁시렁 했던 기억이 난다. 

기초적인 문제다. Programmers Lv.1에 속하며 "행렬의 덧셈"이라고 한다.
문제를 보고 처음 파악한 내용은 다음과 같다.
1. 행렬의 덧셈만을 취급한다는것.
2. 제한조건에 의해 매개변수 arr1과 arr2의 행/열 길이는 각각 500을 넘지 않는다는것.
3. 행렬의 덧셈만 구현하기에 주어지는 arr1, arr2가 같은 크기의 행/열로 구성된다는 것.

딱, 보자마자 이중포문을 이용한 해결법이 떠올랐다. 그것을 코드로 구현하면 아래와 같다.

이중 for문을 이용한 solution.py

그런데, 이를 조금 더 쉽게 할 수는 없을까....?
파이썬에 Numpy라는 matrix를 다루는 library가 있다. 이를 코딩테스트에서 응용해보자.

Numpy 모듈을 이용한 solution.py

위의 방법과 아래의 방법 어느것이 더 쉬운가?
개인적으로 Numpy를 좋아하기때문에 필자는 아래가 더 쉬웠다.
(사실, 방법의 차이를 떠나서 그냥 쉬운 문제이기도 하다,,ㅎㅎ)