CodingSpace

코드스테이츠/코플릿 - unpackGiftbox 본문

코드스테이츠/코플릿

코드스테이츠/코플릿 - unpackGiftbox

개발자_조이킴 2022. 6. 8. 23:30

Problem. unpackGiftbox


Description.

선물 상자에 대한 정보를 담은 배열과 문자열을 입력받아 조건에 맞는 선물이 있는지 여부를 리턴하는 함수를 작성하시오.

※ 반복문(for, while)을 사용하지마시오.

 

입력:

  • 인자1: giftBox
    • 문자열, 배열을 요소로 갖는 재귀적으로 정의된 배열
  • 인자2: wish
    • string 타입의 문자열

 

출력: 

  • boolean 타입을 반환

My Answer. 

function unpackGiftbox(giftBox, wish) {
  // giftBox 배열의 길이가 0이거나 wish가 빈문자열이라면 false 반환
  if(giftBox.length === 0 || wish === '') return false

  for(let i = 0; i < giftBox.length; i++) {
    let head = giftBox[i];
    // giftBox의 i번째 요소가 배열이라면 unpackGiftbox(head, wish)를 호출한다 (재귀함수)
    if(Array.isArray(head) === true) {
      let result = unpackGiftbox(head, wish);
      if(result === true) return true
    }
    // head와 wish가 같다면 true 반환
    else if(head === wish) return true
  }

  return false
}

Comments.

코드스테이츠 저작권으로 문제가 된다면 본 게시물 비공개로 처리하겠습니다!

SEB IM 34기 수료생

Comments