inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

비전공자의 전공자 따라잡기 - 자료구조(with JavaScript)

insert 구현하기

숙제 : 같은 값을 넣은경우 에러 처리

194

rhkdtjd_12

작성한 질문수 138

0

class Node {
  constructor(value) {
    this.value = value;
    this.left = null;
    this.right = null;
  }
}

class BinarySearchTree {
  constructor() {
    this.root = null;
  }

  #insert(node, value) {
    if (node.value > value) {
      // 루트노드보다 작은 값이면
      if (node.left) {
        this.#insert(node.left, value);
      } else {
        node.left = new Node(value);
      }
    } else {
      // 숙제 : 같은 값을 넣은경우 에러 처리 (alert, throw)
      if (node.value === value)
        throw new Error(`이미 해당 ${value}가 존재 합니다`);
      // 루트노드보다 큰 값이면
      if (node.right) {
        this.#insert(node.right, value);
      } else {
        node.right = new Node(value);
      }
    }
  }
  insert(value) {
    if (!this.root) {
      this.root = new Node(value);
    } else {
      this.#insert(this.root, value);
      // 숙제 : 같은 값을 넣은경우 에러 처리 (alert, throw)
    }
  }
  search(value) {}
  remove(value) {}
}

const bst = new BinarySearchTree();
bst.insert(8);
//bst.insert(8); // Error: 이미 해당 8가 존재 합니다
bst.insert(10);
//bst.insert(10); // Error: 이미 해당 10가 존재 합니다
bst.insert(3);
//bst.insert(3); // Error: 이미 해당 3가 존재 합니다
bst.insert(1);
//bst.insert(1); // Error: 이미 해당 1가 존재 합니다
bst.insert(14);
//bst.insert(14); // Error: 이미 해당 14가 존재 합니다
bst.insert(6);
//bst.insert(6); // Error: 이미 해당 6가 존재 합니다
bst.insert(7);
//bst.insert(7); // Error: 이미 해당 7가 존재 합니다
bst.insert(4);
//bst.insert(4); // Error: 이미 해당 4가 존재 합니다
bst.insert(13);
//bst.insert(13); // Error: 이미 해당 13가 존재 합니다

숙제 코드 정답일까요?

javascript 코딩-테스트 알고리즘

답변 1

1

제로초(조현영)

네 정답입니다. 근데 저는 else문 안에 if 보다는 else if를 더 좋아하긴 합니다.

0

rhkdtjd_12

오호!!! 그렇군요 감사합니다! 🤣

addToFile function에서 path를 사용해 새로운 파일을 생성

0

16

1

코살구 1주차 1940번 문제 조건과 프라이빗 테스트 불일치 문의

0

13

2

[46강] EventEmitter를 활용한 10가지 패턴 중 플러그인 아키텍처

0

20

2

Replit UI 변경으로 인한 실습 진행 문의

1

17

1

스택, 큐 연결리스트로 구현 과제 완료입니다!

0

110

1

heapify 안의 bigger 삼항연산자 질문

0

129

2

LinkedList로 스택, 큐 구현하기 숙제

0

136

1

linkedList prev와 tail 사용 후 o(1) 구현.

0

172

1

숙제 : LinkedList로 Stack, Queue 구현하기

0

184

1

연결리스트 숙제

0

248

1

한번에 이해 안가는 제가 비정상 일까요...?

0

242

1

우선순위 큐 질문이 있습니다!

0

158

1

[숙제] minHeap 구현, maxHeap -> minHeap , minHeap -> maxHeap

1

243

1

최소힙 remove 구현하기

0

255

1

숙제 최소힙 만들기

0

167

1

숙제 length return 하기

0

202

1

영상 중간에 0:10 1:23초 수정에 따른 코드 최종본

1

154

1

숙제2 연결리스트를 이용하여 큐 구현하기

0

251

1

숙제1 LinkedList로 스택 구현하기

1

267

1

연결 리스트 구현 숙제 리뷰 부탁드려봅니다

1

351

2

let current = this.head 질문 있습니다!

0

263

1

퀴즈 답안

0

475

1

최소힙의 결과값과 최대힙->최소힙 결과값이 다른게 맞나요?

0

260

1

1주차 숙제에 대한 해답 코드는 따로 제공되지 않나요??

0

505

1