상세 컨텐츠

본문 제목

Javascript 재귀 함수문제(5) - and

Programming Language/JavaScript

by Yongari 2022. 12. 11. 11:16

본문

문제

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

입력

arr : boolean 타입을 구성 요소로 갖는 배열

출력
boolean 타입을 리턴해야 합니다.
arr[0] && arr[1] && ... && arr[n-1]
arr.length는 n

 

 

입출력 예시

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

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

 

풀이코드 설명

function and(arr) {
//head는 arr 배열의 첫번재 요소
const head = arr[0];
//tail은 2번째요소부터 배열의 마지막까지 지정
const tail = arr.slice(1);
 
  //arr의 길이가 0일때 true 반환
  if (arr.length === 0 ){
    return true; 
  }
  // arr의 첫번째 요소가 false면 전체 false 반환
  else if(head === false){
    return false; 
  }

  //tail을 통해 재귀조건 만족시킨 뒤 계속해서 재귀함수 호출
  return and(tail); 
}

 

관련글 더보기