2020/Algorithm(4)
-
Python: Bruteforce, BoyreMoore Matching Algorithm
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 # _*_ coding=utf-8 _*_ #BruteForce String matching Algorithm def bruteforce( pattern, text ): lengthOfPattern = len(pattern) lengthOfText = len(text) i = 0 while i 비교할 가치 없음 nu..
2020.02.19 -
Python: 기초 문법
mylist = [ [] for x in range(5) ] => [ [], [], [], [], [] ] mylist2 = [ [0]*10 for x in range(10) ] 10행 10열의 배열 생성 mylist[0].append(1) mylist[1].append(2) => [ [1], [2], [], [], []] mydict = { 'key1': value1 'key2: value2 } mydict['key3'] = value3 mydict2 = dict(sorted(mydict.items(),key = lambda x:x[1],reverse=True) - 문자열을 입력받고 대 소문자 개수 세기
2020.02.15 -
Python: 선택 정렬, 삽입 정렬, 버블정렬, 병합정렬
[ 선택 정렬 ] index 0~8번 까지 각각 선택해서 알고리즘이 진행된다. 선택한 요소의 이후요소들 중 선택한 요소보다 작은 값이면서 최소값을 구한 뒤 swap한다. [ 삽입 정렬 ] 리스트 list = [4,2,7,1,6]이 존재한다고 하자. list[0]인 4는 그대로 두고 1번 index부터 마지막 요소까지 알고리즘에 넣어준다. 첫번 째 요소는 처음 알고리즘 실행 시 1번 인덱스값과 비교하기 위해서 건들지 않는다. 1. 요소를 선택 2. 해당 요소와 이전 인덱스 값을 비교한다. 해당 값보다 작다면 둘의 위치를 바꾼다. 3. 이 작업을 0번째 인덱스와 비교할 때 까지 계속한다. [ 버블 정렬 ] 앞에 수가 뒤에 수보다 큰 경우 서로 위치를 변경한다. 앞에 수가 뒤에 수 보다 작은 경우 아무런 변화..
2020.02.15 -
Python: Binary Search (이진탐색) 2020.02.15