[매일코딩-프로그래머스] 행렬의 덧셈 01
2022. 1. 14. 10:48ㆍWEB Dev/CordingTEST
728x90
이번주의 마지막 문제!
[문제] 행렬의 덧셈
행과 열의 크기가 같은 두 행이 각각 arr1 , arr2 에 주어지고 같은 행, 열에 있는 값을 더해주어 반환한다.
[풀이]
행렬은 배열인데, 배열 안에 배열이 있는 이중 배열로 들어있게 된다.
각 값의 인덱스(위치)가 모두 같으므로 같은 인덱스 값을 더하는 반복문으로 만들어야겠다.
그리고 조건이 있으므로 조건문을 우선 만들어준다. 행과 열의 길이가 500을 넘지 않는다.
제한조건에 따른 조건문 만들기
function solution(arr1, arr2) {
var answer = [[]];
if(arr1.length <= 500 || arr2.length <= 500){
answer = true
}
return answer;
}
위와 같은 조건을 주면 true가 출력된다.
반복문 만들기
덧셈을 하는 방법은 인덱스를 이용해야 할 것 같은데
arr1[0][0] + arr2[0][0]
arr1[0][1] + arr2[0][1]
arr1[1][0] + arr2[1][0]
arr1[1][1] + arr2[1][1]
.
.
.
위와 같이 더해지는 식을 만들어야 한다.
마치 구구단처럼 순차적으로 더해져야 하니 중첩 반복문을 사용해야 한다.
function solution(arr1, arr2) {
var answer = [[]];
if(arr1.length <= 500 || arr2.length <= 500){
for(var i=0; i<arr1.length; i++){
for(var k=0; k<arr1.length; k++){
answer.push(arr1[i][k]+arr2[i][k])
}
}
}
return answer;
}
위와 같이 만들었더니 ...
틀렸다!
그냥 push를 해버렸더니 내부에 미리 주어진 중첩 배열이 그냥 빈 배열로 밀려버렸고
테스트1에서는 잘 더해졌는데 이중이 아닌 테스트 2에서는 빈 값이 더해지고 있었다.
여기서 조건문 처리를 해야하는걸까?
아니면 더 좋게 더하는 방법이 있을까?
728x90
'WEB Dev > CordingTEST' 카테고리의 다른 글
[매일코딩-프로그래머스] 두 개 뽑아서 더하기 01 (0) | 2022.01.27 |
---|---|
[매일코딩-프로그래머스] 문자열을 정수로 바꾸기 01 (0) | 2022.01.26 |
[매일코딩-프로그래머스] x만큼 간격이 있는 n개의 숫자 (0) | 2022.01.13 |
[매일코딩-프로그래머스] 직사각형 별찍기 02 (0) | 2022.01.12 |
[매일코딩-프로그래머스] 직사각형 별찍기 01 (0) | 2022.01.11 |