728x90
문제
https://programmers.co.kr/learn/courses/30/lessons/12950?language=javascript
코드
- 나의 풀이
function solution(arr1, arr2) {
let answer = [];
for (let i=0; i<arr1.length; i++) {
let tmp = [];
for (let j=0; j<arr1[i].length; j++) {
tmp.push(arr1[i][j]+arr2[i][j]);
}
answer.push(tmp);
}
return answer;
}
- 다른 분의 풀이1
return arr1.map((element, i) => arr2[i].map((e, j) => arr1[i][j] + arr2[i][j]));
- 다른 분의 풀이2
function solution(arr1, arr2) {
let answer = [[]];
for (let i=0; i<arr1.length; i++) {
answer[i] = []; //tmp배열을 새로 만드는대신
for (let j=0; j<arr1[i].length; j++) {
answer[i].push(arr1[i][j]+arr2[i][j]);
}
}
return answer;
}
후기
- 자바스크립트로 2차원 배열을 생성하고 값을 넣는 방법을 터득하기 딱 좋은 문제였다
- 나는 tmp까지 이용하며 좀 비효율적으로 풀이를 하였는데, 다른 분의 풀이 중에 나랑 비슷하지만 이차원 배열을 arr = [[]];로 선언하고 값을 넣을 때도 arr[i] = [];로 2차원 배열에 값을 넣는 방법이 있었다
- map함수를 이용해서도 2차원 배열에 값을 넣는 방법도 알 수 있었다
'알고리즘 > Programmers' 카테고리의 다른 글
[Programmers] 제일 작은 수 제거하기 / JavaScript (0) | 2022.01.20 |
---|---|
[Programmers] 최대공약수와 최소공배수 / JavaScript (0) | 2022.01.20 |
[Programmers] 하샤드 수 / JavaScript (0) | 2022.01.20 |
[Programmers] 핸드폰 번호 가리기 / JavaScript (0) | 2022.01.20 |
[Programmers] 문자열 내림차순으로 배치하기 / JavaScript (0) | 2022.01.20 |