완전탐색(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 ,,,
'코드테스트' 카테고리의 다른 글
코딩테스트 lv.1 - 파이썬 (0) | 2021.06.18 |
---|---|
5.해쉬함수 (0) | 2021.06.18 |
4.진법변환/비트연산 (0) | 2021.06.17 |
3. 깊이우선탐색/ 너비탐색 (0) | 2021.06.02 |
프로그래머스 1주차: 스택&큐 (0) | 2021.05.19 |