BEB 07 4-4

Donghun Seol·2022년 10월 7일
0

코드스테이츠 BEB 07

목록 보기
16/39

section 1 이해도 테스트

시험봄.

퀴즈

퀴즈는 실수(?) 혹은 착각해서 한문제 날리고
몰라서 한문제 날리고 두문제 날렸음

코플릿

코플릿에서 깊이우선탐색을 loop안에서 돌때 return 값이 제대로 반환되지 않게 구현한 것을 고치다가 시간이 많이 흘렀음
아래와 같이 처음부터 구현했는데, 이 경우 dfs의 한쪽 방향만을 탐색하는 문제가 발생했다.
vscode에서 디버거로 하나하나 찍어보기 전까지는 도저히 알지 못하겠어서 과제를 다 했음에도 이 문제 때문에 오랜시간 고민했다.

function test7(arr, id) {
  for (let i = 0; i < arr.length; i++) {
    if (arr[i].id === id) {
      return arr[i]
    } else if (arr[i].children !== undefined) {
      return test7(arr[i].childern, id); // 이 부분이 문제
    }
  }
  return null;
}

결국 else if 안에서 리턴값이 null 인 경우에는 리턴을 하지 않고 for loop의 나머지를 순회하는 방식으로 고쳐서 전부 다 통과하게 되었다.

충분히 생각하지 않고 무작정 코드를 작성하다 보면, 처음에 잘못 생각했던 로직이 고착화되어 그걸 깨부시고 다른 로직으로 피벗하는데 시간이 오래 걸린다. 코딩 테스트 할때 항상 경계해야 할 부분이라 생각한다.

function test7(arr, id) {
  for (let i = 0; i < arr.length; i++) {
    if (arr[i].id === id) {
      return arr[i]
    } else if (arr[i].children !== undefined) {
      const result = test7(arr[i].childern, id);
      if (!result) {
        return result;
      }
    }
  }
  return null;
}

과제

리액트 복습을 충분히 하는 계기가 되었음.
state, props 활용해서 component간 data flow를 복습하는 즐거운 시간이었다.
과제를 해치우니 이제 react로 프로젝트를 할 수 있겠다는 자신감이 스멀스멀 올라온다.

profile
I'm going from failure to failure without losing enthusiasm

0개의 댓글