문제설명
행렬이 두개 있습니다. 두 행렬의 절댓값을 차례대로 담은 정수 배열 absolutes와 행렬의 부호를 차례대로 담은 boolean 배열 sings가 매개변수로 주어집니다. 두 행렬의 부호는 같습니다.
실제 행렬 덧셈의 결과를 반환하는 함수, solution을 완성 해주세요.
제한사항
- 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
입출력 예
지정 입력값
문제 풀이
function solution(arr1, arr2, signs){
let line = [] // 행을 담을 배열
for(let i = 0; i < arr1.length; i++){ // 행 반복문
let heat = [] // 열을 담을 배열
for(let j = 0; j < arr1[i].length; j++){ // 열 반복문
if(signs[i][j] == true){ // 양수
heat.push(arr1[i][j] + arr2[i][j])
}else{ // 음수
heat.push((arr1[i][j] + arr2[i][j]) * -1)
}
}
line.push(heat)
}
return line
}
console.log(solution([[1,2],[2,3]], [[3,4],[5,6]], [[true, true], [true, false]]))
1) 행을 담을 배열과 열을 담을 배열을 생성한다.
2) 첫번째 반복문을 돌려서 행의 값을 뽑는다.
3) 두번째 반복문을 돌려서 열의 값을 뽑는다.
4) if문을 사용해서 sign의 값이 true인 지 false인 지 뽑는다.
5) 서로 다른 두 배열에서 같은 인덱스의 값을 더해서 열 배열에 push 한다.
(이때 열 배열은 행 반복문 안에 넣어줘야 한다.)
6) 열 반복문이 끝나면 행 반복문에 열 배열을 push 한다.
'항해 중 > 2주차 알고리즘(프로그래머스)' 카테고리의 다른 글
알고리즘 기초 주차 - 3번 문제 풀이 방법 (0) | 2021.11.13 |
---|---|
알고리즘 기초 주차 - 2번 문제 풀이방법 (0) | 2021.11.13 |
5일차 → 신규 아이디 추천(정규표현식, replace(), slice(), charAt(), repeat()) (0) | 2021.11.12 |
5일차 → 소수 만들기(소수 판별식) (0) | 2021.11.12 |
4일차 → 문자열 내 마음대로 정렬하기(return 1/-1/0, localCompare()) (0) | 2021.11.11 |
댓글