목록Python (5)
woojin++
# 재귀(recursive) 재귀는 자기 자신을 호출 하는 것을 말한다. ## 재귀함수(recursive function) 재귀함수는 자기 자신을 호출하는 함수 ## 재귀함수 만들기 탈출조건 , 끝나는 조건이 꼭 들어가야 한다. arr = [7,3,2,9] def sum(arr): #pop() last = arr.pop() # 9 print("arr =>", arr) print("last=>", last) result = last # arr = [7,3,2] last = arr.pop() # 2 print("arr2 =>", arr) print("last2=>", last) result = result + last # arr = [7,3] last = arr.pop() # 3 print("arr3=>",..
이해하게 되면 거품이 물에서 떠오르는 모양처럼 숫자가 정렬이 되서 버블정렬이라고 한다. 알고리즘에서 가장 첫번째로 나오는 알고리즘 알포자: 알고리즘을 포기한 개발자 수포자: 수학 포기한 자들 ㅋㅋ... 1. 이직, 거르는 용도 2. 알고리즘 공부 하면 소스코드가 눈에 잘보임 #버블(거품) 정렬 # 핵심로직 : 첫번째꺼랑 두번째꺼랑 비교해서 두번째께 더 작으면 첫번째꺼랑 자리를 바꾼다. # n, n + 1 => 권위주의의 상징 numbers = [7,3,2,9] # first = numbers[0] # 7 # second = numbers[1] # 3 # print(first, second) # print(first > second) # 7 > 3 = True # # 1. 자리바꾸기 # temp = fir..
정렬 : 버블, 선택, 삽입, 병합, 퀵 퀵정렬 : 가장 빠름, 숫자 하나를 뽑아(기준) 정렬 [40, 35, 27] 27(3) 35(2) 40(1)(기준) #재귀를 이용해서 남은 애들을 계속 함수를 태운다. numbers = [40, 35, 27, 50, 75] def quickSort(array): if len(array) < 2: return array else: pivot = array[0] less = [number for number in array[1:] if number pivot] print("less:", less) print("greater:", greater) return quickSort(less) + [pivot] + quickSort(greater) result = quickS..
#최대값, 최소값 구하는 알고리즘 #Max list =[9, 22, 3, 7, 4, 5] # O(n) def solution(list): result = list[0] for num in list[1:]: if result ", solution(list)) def solution2(list): result = list[0] for i in range(1,len(list)): num = list[i] #print(i, num) if result ", solution2(list)) #Min def min(list): res..
# 짝수면 true 홀수 이면 False 가 나오는 함수를 만드세요 def isEven(num): # 홀수 인지 짝수 인지 판단 # 2로 나누어서 '나머지' 0인지 아닌지 # 나머지 4라는 숫자 2로 나누면 몫(quota):2 remainder:0 # 10을 2로 나누면 ? quota : 5 remainder : 0 # 11을 2로 나누면 ? quota : 5 remainder : 1 # 12을 2로 나누면 ? q:6 r : 0 # 1212121212121212를 2로 나누면 ? q: remainder : 0 # 13을 2로 나누면 ? q:6 r:1 # 1213을 2로 나누면 ? q : r: 1 # 1313을 2로 나누면 q: r : 1 # 끝자리가 짝수면 나머지는 0 끝자리가 홀수면 나머지는 1 zer..