[Daily Coding]_findBugInApples

fejigu·2022년 8월 5일
1


문제

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]

💻 코드 작성

[내가 작성한 코드 -> 출력 조건들을 보고 문제에 대한 이해를 하기까지 오랜 시간이 걸림..-> 통과 X]

function findBugInApples(arr) {
  // TODO: 여기에 코드를 작성합니다.
  // 이중 for문으로 배열 내 배열을 조회한다
  for(let i = 0; i < arr.length; i++){
  	for(let j = 0; j < arr.length; j++){
  		if(arr[i][j] === 'B'){
//조회하는 값이 "B"인 경우 리턴한다(이 때 B의 인덱스 값을 리턴해야했다)
          return arr[i][j];
        }
  }}}

[레퍼런스 코드]

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];
      }
    }
  }
}
profile
console.log(frontendjigu( ☕️, 📱); // true

0개의 댓글