재귀 13번 findMatryoshka

Judo·2020년 11월 18일
0
post-thumbnail
post-custom-banner

문제


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


입력

matryoshka

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

size

  • number 타입의 수

출력

  • boolean

내가 푼 코드

function findMatryoshka(matryoshka, size) {
  // TODO: 여기에 코드를 작성합니다.
  /**
   * 1.객체와 수를 입력받는다.
   * 2.조건에 맞는 인형이 있는지 확인
   * 
   * matryoshka.size = number
   * matryoshka.matryoshka = null or object
   * 
   * 
   */
    if (matryoshka.size === size) {
      return true;
    } else if (matryoshka.matryoshka && matryoshka.size > size) {
      return findMatryoshka(matryoshka.matryoshka, size);
    } else {
      return false;
    }
}

어려웠던 점

  1. 문제를 제대로 이해하지 못했다.
  2. 입력 인자로 주어지는 size와 객체 속성 값 matryoshka.size을 구분하지 못했다.
  3. size 로 대소 비교를 해 재귀 호출하는 부분을 생각하는게 어려웠다.

KEY

  1. sizematryoshka.size 의 대소 비교를 통해 재귀 호출을 이용해야한다.
  2. 재귀 호출을 할 때 return값이 어떻게 움직이는지 파악해야한다.
  3. 객체에 속성에 접근을 유용하게 할 수 있어야 한다.
profile
즐거운 코딩
post-custom-banner

0개의 댓글