탐색 · Binary Search
Binary Search Logic
정렬된 1부터 100까지의 수에서 가운데 값을 확인하고, 찾는 값이 있을 쪽으로 범위를 절반씩 줄여 가요. 찾을 값은 직접 바꿀 수 있어요.
TARGET 77
- 가운데 확인
- 찾음
- 남은 범위
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
STEP 1 / 7scrollYProgress 0.00
이 단계에서는
범위 [0 ~ 99]의 가운데 값 50를 확인하고 있어요
- 남은 범위
- 100
- 비교 횟수
- 1
- 가운데 값
- 50
아래로 스크롤하면 다음 단계로, 위로 스크롤하면 이전 단계로 돌아가요.
단계마다 범위가 절반으로
getBinarySearchSteps가 left, right, mid를 단계별로 기록해 둬요. 최대 7번의 비교로 100개 중 하나를 찾아요.
mid = Math.floor((left + right) / 2) left = mid + 1 또는 right = mid - 1