상세 컨텐츠

본문 제목

Javascript 재귀 함수문제(7) - findMatryoshka

Programming Language/JavaScript

by Yongari 2022. 12. 11. 11:32

본문

문제

러시아 전통인형 마트료시카에 대한 정보를 담은 객체와 수를 입력받아 조건에 맞는 인형이 있는지 여부를 리턴해야 합니다.

입력

matryoshka
'matryoshka', 'size' 속성을 갖는 재귀적으로 정의된 객체 (입출력 예시 참고)
matryoshka.matryoshka는 null 또는 matryoshka 객체
matryoshka.size는 중첩될수록 작아집니다.


size
number 타입의 수


출력
boolean 타입을 리턴해야 합니다.


입출력 예시

const matryoshka = {
  size: 10,
  matryoshka: {
    size: 9,
    matryoshka: null,
  },
};

let output = findMatryoshka(matryoshka, 10);
console.log(output); // --> true

output = findMatryoshka(matryoshka, 8);
console.log(output); // --> false

 

풀이코드 설명

function findMatryoshka(matryoshka, size) {
  // 마트로슈카는 재귀함수와 비슷한 면이있는 현실 객체다.
  //마트로슈카의 사이즈가 입력받은 사이즈와 같으면 true를 반환한다.
  if(matryoshka.size === size){
    return true; 
  }
  //마트로슈카의 마트로슈카가 true이면 재귀함수를 호출한다.
  else if (matryoshka.matryoshka){
    return findMatryoshka(matryoshka.matryoshka, size);
  }
  //모든 재귀함수 호출을 다 실행했을때 위의 조건에 해당되는 것이 없으면 false 반환
  return false; 
}

 

관련글 더보기