알고리즘/sw
4839. [파이썬 S/W 문제해결 기본] 2일차 - 이진탐색_python
HAN_PY
2020. 3. 26. 23:36
반응형
문제의 저작권은 SW Expert Academy에 있습니다.
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
|
TC = int(input())
for tc in range(1, TC+1):
P, A, B = map(int, input().split())
s = 1
e = P
mid = 0
ca = 0
while s <= e:
if mid == A:
break
mid = (s+e)//2
if mid < A:
s = mid
else:
e = mid
ca += 1
s = 1
e = P
cb = 0
while s <= e:
if mid == B:
break
mid = (s + e) // 2
if mid < B:
s = mid
else:
e = mid
cb += 1
# print(ca, cb)
if ca<cb:
print(f'#{tc} A')
elif ca>cb:
print(f'#{tc} B')
else:
print(f'#{tc} 0')
|
cs |
이진 탐색의 개념 자체를 이해하고 넘어가면 좋다. 기본 알고리즘이다.
print는 f-스트림 썼다.
코드를 다음에 시간날 때 깔끔하게 다시 올려보겠다
반응형