Daily coding

배열을 요소로 갖는 2차원 배열

mellomello.made 2022. 6. 10. 11:19

1. TIL

 

  • 배열은 여러 개의 값을 순차적으로 나열한 자료구조다.
  • 배열은 요소의 개수, 즉 배열의 길이를 나타내는 length 프로퍼티를 갖는다.
  • 배열은 인덱스와 length 프로퍼티를 갖기 때문에 for문을 통해 순차적으로 요소에 접근할 수 있다.
  • 배열은 객체지만 일반 객체와는 구별되는 특징이있다.
구분 객체 배열
구조 프로퍼티 키와 프로퍼티 값 인덱스와 요소
값의 참조 프로퍼티 키 인덱스
값의 순서 ⭕️
length 프로퍼티 ⭕️

 


 

  • 2차원 배열(배열을 요소로 갖는 배열)을 입력받아 특정 알파벳 'B'의 위치 정보를 요소로 갖는 배열 출력하기.

 

function findBugInApples(arr) {

//2차원 배열의 순회 
for (let i = 0; i < arr.length; i++) {

	//j(col)은 i(row)요소의 개수만큼 반복하여 값에 접근한다.
    for (let j = 0; j < arr[i].length; j++) {
    
      if (arr[i][j] === 'B') {
        return [i, j];
      }
    }
  }
}

 

  1. 변수를 선언하고 0으로 초기값을 주었다.
  2. 바깥의 for문은 각각 줄을 반복하고, 안쪽의 for문은 해당 줄의 칸들을 반복하게 되므로, 줄의 반복되는 부분에서 값을 1 증가시켜준다.

 

let output = findBugInApples([['A'], ['B']]);
console.log(output); //[1, 0]

output = findBugInApples([
  ['A', 'A', 'A', 'A', 'A'],
  ['A', 'B', 'A', 'A', 'A'],
  ['A', 'A', 'A', 'A', 'A'],
  ['A', 'A', 'A', 'A', 'A'],
  ['A', 'A', 'A', 'A', 'A'],
]);
console.log(output); //[1, 1]

 

2. Remind

  • 2차원 배열의 요소는 차례대로 행, 열이다. ([행, 열])