https://school.programmers.co.kr/learn/courses/30/lessons/12950
나의 코드
function solution(arr1, arr2) {
let result = []
let preResult = []
for(i=0; i<arr1.length; i++){
for(k=0; k<arr1[i].length; k++){
preResult.push(arr1[i][k] + arr2[i][k])
}
result.push(preResult)
preResult = []
}
return result;
}
다른 사람 풀이
풀이 1)
function solution(arr1, arr2) {
return arr1.map((a,i) => a.map((b, j) => b + arr2[i][j]));
}
나의 코드보다 훨씬 빠르다.
이중으로 할때는 map이 더 빠른 것 같다.
이렇게 이중 map이 가능 한 것은 arr1과 arr2의 배열의 길이가 같고 그 안의 배열의 길이가 같기에 가능하다
풀이 2)
function solution(arr1, arr2) {
var answer = [[]];
for (var i=0; i<arr1.length; i++){
answer[i] =[];
for(var j=0; j<arr1[i].length; j++){
answer[i].push(arr1[i][j] + arr2[i][j]);
}
}
return answer;
}
배열안에 넣는 배열을 나와 다르게 표현해줬다.
answer[i] = []; 이 방법도 좋은 것 같다.
'알고리즘 > 프로그래머스 - JS' 카테고리의 다른 글
[프로그래머스-JS] level 2 문자열 압축 <공사중> (0) | 2022.08.08 |
---|---|
[프로그래머스-JS] level 1. x만큼 간격이 있는 n개의 숫자 (0) | 2022.08.06 |
[프로그래머스-JS] level 1. 핸드폰 번호 가리기 <*> <공사중> (0) | 2022.08.05 |
[프로그래머스-JS] level 1. 콜라츠 추측 (0) | 2022.08.05 |
[프로그래머스-JS] level.1 제일 작은 수 제거 <**> (0) | 2022.08.04 |