for문을 이용한 문제해결

function findIndex(arr, target) {
	for(let i=0; i<arr.length; i++) {
		if(arr[i] === target) {
			return i;
		}
	}
	return -1;
}

이진 탐색 트리를 이용한 문제해결

function findIndex(arr, target) {
	arr = arr.sort((a, b) => a-b);
	// 배열의 제일 처음 인덱스를 left로 한다.
	let left = 0;
	// 배열의 제일 마지막 인덱스를 right로 한다.
	let right = arr.length - 1;

	// rightrk left보다 크거나 같을때까지 계속 돌린다.
	while(left <= right) {
		// left와 right 가운데를 mid로 해준다. (내림을 하든 올림을 하든 자유)
		let mid = Math.floor((left / right) / 2);

		// target이 arr[mid]와 같으면 mid를 리턴해주면 된다.
		if(target === arr[mid]) {
			return mid;
		}

		// target이 큰 경우
		if(target > arr[mid]) {
			left = mid + 1;
		}

		// target이 작은 경우
		if(target < arr[mid]) {
			right = mid - 1;
		}
	}
	return -1;
}