코드테스트
2.완전탐색/ 이분탐색
Bomme
2021. 5. 30. 18:24
완전탐색(brute force): 가능한 모든 경우의수를 다 구함. 오래걸림
- 반복문
- 재귀함수
def solution(trump):
for i in range(len(trump)):
if trump[i]==8:
return i
return -1
def solution(trump,loc):
if trump[loc]==8:
return loc
else:
return solution(trump,loc+1)
이분탐색: 정렬된 배열에서 특정한 값을 찾아내는 것. 임의의 값 선택. 찾고자하는 값 x 비교.
x기준으로 작으면 왼쪽. 크면 오른쪽으로 탐색.
def solution(trump):
left=0
right= len(trump)-1
while(left<=right):
mid=(left+right)//2
if trump[mid]==8:
return mid
elif trump[mid] <8:
left=mid+1
elif trump[mid]>8:
right=mid-1
return mid
기타:: 깊이우선탐색, 너비우선탐색, 문자열탐색, kmp, bm ,,,