완전탐색(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

+ Recent posts