2021_04_02

유지원·2021년 4월 2일
0
post-thumbnail

TIL - HA 시험 복습

[Test 7]

문제) 객체를 요소로 갖는 배열과 id를 입력받아, 해당 id 값을 가지고 있는 객체를 리턴한다.

입출력)

let input = [
  {
    id: 1,
    name: 'johnny',
  },
  {
    id: 2,
    name: 'ingi',
    children: [
      {
        id: 3,
        name: 'johnson',
      },
      {
        id: 5,
        name: 'steve',
        children: [
          {
            id: 6,
            name: 'lisa',
          },
        ],
      },
      {
        id: 11,
      },
    ],
  },
  {
    id: '13',
  },
];
let output = test7(input, 1);
console.log(output); // --> { id: 1, name: 'johnny' }

수도코드)

// 입력받은 배열의 길이만큼 반복문을 실행한다.
// 만약 배열의 i번째 요소의 id가 찾고자 하는 id와 같다면 해당 인덱스의 객체를 리턴한다.
// 그렇지 않으면 배열의 i번쨰 요소의 children이 배열인지 확인한다.
-> Array.isArray
// 배열이라면 newarr 이라는 배열에 children을 담는다.
// 반복문이 끝나고 newarr의 길이가 0보다 크다면
//newarr, id를 전달인자로 Test7 함수를 실행한다. -> 재귀
// 그렇지 않으면 null을 리턴한다.

이렇게 테스트로 봤던 7문제들을 다 복습하였다.
문제를 푸는 도중 긴가민가 했던 개념들도 있었고, 다시 복습해야 했던 개념도 있었다. 남은 주말동안은 그동안의 개념들을 다시 한번 복습하는 시간을 가져야겠다 :~

profile
안녕하세요 유지원입니다

0개의 댓글