
목표 활주로 예약 문제를 통해 기존 자료 구조의 한계를 파악한다. 이진 탐색 트리의 개념을 이해한다. 이진 탐색 트리의 삽입, 탐색 등의 방법을 이해한다. 이진 탐색 트리를 사용한 활주로 예약 문제의 해법을 살펴보며, 한계점을 짚어본다. [문제] 활주로 예약 하기 활주로가 하나뿐인 공항에서 착륙 시간을 예약하는 시스템에 대해 생각해보자. 예약에 대한 리퀘스트가 왔을 때, 시점 앞뒤로 k분 이내에 예약이 없을 때만 시스템에 등록이 된다. 예시) 현재 시점은 37이며, 예약 명단이 [41, 46, 49, 51]이며, k = 3일때 -> 44 : not allowed -> 53 : ok -> 22 : not allowed (already past) log(n)의 시간 안에 예약을 완료할 수 있는 방법이 있을까..
최근 프로그래밍 기초를 다지고자 공부를 하고 있는데, 듣고 있는 강의가 python 2를 사용하여 진행된다. 이미 내 노트북에는 python 3가 설치되어 있는 상황이어서 두 버전을 모두 사용할 수 있도록 아나콘다의 가상환경을 사용하였다. 가상환경은 한 컴퓨터에서 여러 프로젝트를 작업할 때 파이썬 패키지의 의존성이 충돌하지 않도록 관리해주는 툴이다. 가상환경을 생성하면 환경변수 그룹이 만들어지고 그룹마다 지정된 경로에 패키지를 설치하고 참고하게 된다. 즉 내 경우처럼 하나의 컴퓨터에서 다른 버전의 파이썬을 사용하는 용도 뿐만 아니라 여러 프로젝트를 개발할 때 가상환경을 사용하면 라이브러리의 버전 관리가 용이해진다. 아나콘다 가상환경 생성하기 먼저 아나콘다를 설치한 상태에서 Anaconda prompt를 ..