상세 컨텐츠

본문 제목

알고리즘 문제풀이 - findBugInApples

Programming Language/JavaScript

by Yongari 2022. 12. 23. 19:04

본문

 

문제설명 : 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) {
  //2차원 배열이라서 반복문을 2번 순회 
  for (let i = 0; i < arr.length; i += 1) {
    for (let j = 0; j < arr[i].length; j += 1) {
      //배열요소 중 "B"가 있으면 배열의 위치요소를 반환 
      //i와 j로 찾을 수 있다.
      if (arr[i][j] === 'B') {
        return [i, j];
      }
    }
  }
}

관련글 더보기