힙힙은 완전이진트리로 최대값 또는 최소값을 빠르게 찾을 수 있는 자료구조다. 우선순위큐를 구현하는 데 자주 사용된다.힙은 삽입연산과 삭제연산이 있다.삽입연산데이터 삽입은 힙의 맨 끝에서 이뤄진다. 부모노드와 우선순위를 비교해 부모보다 자식이 높으면 부모와 자식의 위치를 바꾸면서 루트노드까지 비교한다.삽입연산의 과정이진트리의 맨 마지막 자리에 노드를 추가한다.부모노드와 우선순위를 비교 후 자식 노드가 우선순위가 높으면 부모노드와 자리를 교체한다.부모노드가 우선순위가 높을 때까지 2를 반복한다.삭제 연산데이터 삭제는 힙의 루트노드에서 이뤄진다. 루트노드를 삭제한 후 가장 마지막에 추가한 노드를 루트노드의 위치로 이동한다. 이동한 노드와 자식노드의 우선순위를 비교해 힙을 재정렬한다.삭제연산의 과정트리의 마지막..
목표버튼을 클릭할 때마다 배경색을 바꾸는 기능을 구현하기원리버튼을 클릭하면 클릭 이벤트가 발생한다. 클릭 이벤트에 대해 이벤트 헨들러를 등록을 한다. 이벤트 헨들러는 호출 될 때마다 색상코드가 들어가 있는 배열의 인덱스를 무작위로 가져온 후에 태그의 속성에 추가를 한다.코드HTML 코드 Give me color CSS 코드body { height: 100vh; width: 100%; display: flex; justify-content: center; align-items: center; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open..
#1 interval이란?주가, 서버 요청 등과 같이 주기적으로 해야할 일들이 있을 때의 주기공간이 interval이다.#2 interval 설정방법설정방법반복해서 실행할 함수를 정의한다.// 함수 정의function sayHello() { console.log("Hello");}interval를 설정한다. 첫번째 인자는 호출할 함수, 두번째 인자는 밀리초 단위의 시간을 넣는다.// interval 설정setInterval(sayHello, 1000);최종형태는 다음과 같다.// 함수 정의function sayHello() { console.log("Hello");}// interval 설정setInterval(sayHello, 1000);#3 예제: 시계만들기시계만들기HTML문서를 준비한다...