코딩테스트/SWEA
[SWEA] 4839 [파이썬 S/W 문제해결 기본] 2일차 - 이진탐색 / 파이썬(python)
Jiwon_C
2021. 3. 28. 21:53
※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다.
# 문제 링크
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
# Soultion
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
|
def binary_search(eend, ppage ):
start = 1
end = eend
mid = end//2
cnt=0
while(1):
cnt+=1
if mid==ppage:
return cnt
elif mid>ppage:
end = mid
elif mid < ppage:
start = mid
mid = (end+start)//2
t = int(input())
for tc in range(1,t+1):
p,a,b = map(int,input().split())
t_a = binary_search(p,a)
t_b = binary_search(p,b)
if t_a==t_b:
print('#'+str(tc),0)
elif t_a > t_b:
print('#'+str(tc),'B')
else:
print('#'+str(tc),'A')
|
cs |
1. 이진탐색을 위해 함수 생성
8. 찾고자 하는 값을 찾으면 몇번 이진탐색했는지 카운팅 리턴
22. 수 비교를 통해 각 상황에 맞는 출력하기