새소식

프론트엔드 공부/자료구조 & 알고리즘

2차원 배열(배열을 요소로 갖는 배열)을 입력받아 'B'의 위치 정보를 요소로 갖는 배열을 리턴해야 합니다.

  • -

findBugInApples

문제

2차원 배열(배열을 요소로 갖는 배열)을 입력받아 'B'의 위치 정보를 요소로 갖는 배열을 리턴해야 합니다.

입력

인자 1 : arr

  • 배열을 요소로 갖는 배열
  • arr[i]는 'A' 또는 'B'만을 요소로 갖는 배열

출력

  • 'B'의 위치 정보(행, 열)를 요소로 갖는 배열을 리턴해야 합니다.
  • 배열의 요소는 차례대로 행, 열입니다. ([행, 열])
  • 행: 'B'를 요소로 갖는 배열 arr[i]의 인덱스 i
  • 열: arr[i]에서 'B'(arr[i][j])의 인덱스 j

주의 사항

  • arr, arr[i]의 길이는 다양하게 주어집니다.
  • 항상 한 개의 문자열 'B'가 존재합니다.

입출력 예시

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]

코드

// 작성코드
function findBugInApples(arr) {
    let result;
    arr.forEach((subArr, i) => { 
      if (index !== -1) { 
        result = [i, index]; 
        return;
      }
    });
	return result;
}

//레퍼런스코드
function findBugInApples(arr) {
  for (let i = 0; i < arr.length; i += 1) {
    for (let j = 0; j < arr[i].length; j += 1) {
      if (arr[i][j] === 'B') {
        return [i, j];
      }
    }
  }
}
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.