JavaScript 2차원 배열

hyeonyohwan·2021년 6월 12일
0

얼마 전에 면접을 보고 왔는데 정말 기초적인 2차원 배열에 관련된
손코딩 문제를 내주셨다.
하지만 당황한 나머지 머리가 새까매졌고 너무너무너무 기초적인 것임에도 불구하고 머리 속으로 매우 복잡하게 알고리즘을 그려나갔다.

function question(){
  var arr = [[1,2,3,],[4,5,6],[7,8,9]];
  var answer = '';
  for(var i = 0; i < arr.length; i++){
    for(var j = 2; j >= 0; j--){
      answer += arr[j][i];
    }
  }

  console.log(answer);
}

question();
// answer = 741852963

웹 프론트엔드 관련하여 면접을 보러 간 것이기 때문에 자바스크립트로 풀려고 했지만 2차원 배열을 만드는 법이 기억이 안 나서 우왕좌왕하다가 자바로 풀었던 것 같다.
그런데 웃긴 사실은, 배열을 만들 필요가 없고 주어진 배열만 받아서 출력하면 되는 것이기 때문에 자바스크립트던지 자바이던지 아무 상관이 없었다. ㅎㅎㅎ

면접을 여러 번 보고 와서 긴장을 어느 정도 많이 안 한다고 생각하였는데 이런 간단한 문제도 헤맨 것을 보면 아직 많이 떨리나보다...

아무튼 문제는 아래에서 위로, 왼쪽에서 오른쪽으로 값들이 차례대로 출력하게끔 하는 것이다.
난 j-i+2 막 이러면서 복잡하게만 생각했는데 거기 계신 이사님께서 틀을 직접 그려주시니까 30초만에 풀었던 것 같다.

오늘의 교훈 - 긴장이 되면 심호흡을 하고 문제를 단순하게 생각하자!!

(추가로 자바스크립트 2차원 배열 생성은 아래와 같다)

function create2DArray(rows, columns) {
    var arr = new Array(rows);
    for (var i = 0; i < rows; i++) {
        arr[i] = new Array(columns);
    }
    return arr;
}

var arr = create2DArray(5,5);
console.log(arr);
// (5) [(5) [...], (5) [...], (5) [...], (5) [...], (5) [...]]
profile
웹 프론트엔드 개발자입니다.

0개의 댓글