코플릿/재귀

11_or

테오구 2021. 10. 31. 12:36
728x90

문제

배열을 입력받아 모든 요소의 논리합(or)을 리턴해야 합니다.

입력

let output = or([true, true, false]);
console.log(output); // --> true

output = or([false, false, false]);
console.log(output); // --> false

 

 

 

 

 

 

 

function or(arr) {
  // TODO: 여기에 코드를 작성합니다.
  let result = false;
  if(arr.length === 0){
    return false
  }
  if(arr[arr.length-1]){
    result= true;
  }
  if(arr.length ===1){
    return result;
  }
  return or(arr.slice(0, arr.length-1))
}

 

 

 

 

 

 

 

 

function or(arr) {
  if (arr.length === 0) {
    return false;
  }

  // const [head, ...tail] = arr;
  const head = arr[0];
  const tail = arr.slice(1);

  // if (head === true) {
  //   return true;
  // }

  return head || or(tail);
}
728x90

'코플릿 > 재귀' 카테고리의 다른 글

08_drop  (0) 2021.10.31
09_take  (0) 2021.10.31
12_reverseArr  (0) 2021.10.31
13_findMatryoshka  (0) 2021.10.31
14_unpackGiftbox  (0) 2021.10.31