파이썬알고리즘(4)
-
[Python] list sort / sorted
numList = [1, 99, 132, 55, 7] strList = ["red","green","blue","Black","White","Gray"] numList.sort() print(numList) numList.sort(reverse = True) print(numList) strList.sort() # 대문자 우선 정렬후 소문자 정렬 print(strList) strList.sort(key = str.lower) #대소문자 구분없이 정렬 print(strList) strList.sort(key = str.lower, reverse = True) # 대소문자 구분없이 역순정렬 print(strList) #numList.reverse() #print(numList) #strList.reverse..
2021.06.24 -
[Python] [Algorithm] 이진탐색
arr에 찾고자 하는 숫자가 있으면 index 리턴. 중간값으로 계속 줄여나가면서 탐색하는 방법. 없으면 -1 리턴 O(log n) arr = [1,2,3,5,6,7,8,9,10,11] def binarySearch(arr, targetNum): start = 0 end = len(arr) - 1 while(start targetNum: end = midIndex -1 print("start :",start,"end :", end) print(midIndex) return -1 print(binarySearch(arr, 8)) print(binarySearch(arr, 4))
2021.06.24 -
[Python] [Algorithm] 리스트에서 가장 큰 수 / 가장 작은 수 찾기
map = [1,2,3,20,5,6,7,8,9,10,11] l = len(map) max = 0 for key in range(0,l): print("key :", key, "value :", map[key], "max :", max) if map[key] > max: max = map[key] print("max :", max) min = max for key in range(0,l): print("key :", key, "value :", map[key], "min :", min) if map[key] < min: min = map[key] print("min :", min)
2021.06.24 -
[Python] [Algorithm] 가장 많이 등장하는 알파벳 갯수 세기
word = "chanhhh" def highFrequencyLetterCount(word): map = {} for alphabet in word: print("map :",map) if map.get(alphabet) == None: map[alphabet] = 1 else: map[alphabet] += 1 print(map) max = -1 for key in map: print("key :", key, "value :", map[key], "max :", max) if map[key] > max: max = map[key] print(max) return max highFrequencyLetterCount(word)
2021.06.24