본문 바로가기

Algorithm40

#2.재귀 알고리즘 재귀 알고리즘이란 재귀함수를 이용하는 것으로 재귀함수는 하나의 함수에서 자기 자신을 다시 호출하여 작업을 수행하는 함수를 말합니다. 대표적인 예로는 자연수 n 까지의 합을 구하는 알고리즘이 있습니다. def sum(n): print(n) if n = 0: sum +=n n -=1 return sum 또 다른 예로 피보나치 순열의 해당 값을 구하는 알고리즘이 있습니다. 피보나치 순열은 아래와 같이 정의됩니다. F0 = 0 F1 = 1 Fn = Fn - 1 + Fn - 2, n >= 2 Recursive Version def solution(x): if x == 0: return 0 elif x == 1: return 1 else: return solution(x-1) + solution(x-2) ltera.. 2020. 2. 13.
#1.1 정렬과 탐색 정렬 정렬이란 새로운 규칙에 따라 리스트의 요소들을 새롭게 배치하는 것을 의미합니다. L = [13, 31, 21, 60, 54] L.sort() #[13, 21, 31, 54, 60] 메서드 sorted(L)#[13, 21, 31, 54, 60] 내장 함수 L.sort(reverse=True) #[60, 54, 31, 21, 13] sorted(L,reverse=True) #[60, 54, 31, 21, 13] 만약 리스트의 요소가 문자열로 이루어진경우에는 사전 순서(알파벳 순서)를 따릅니다. L=['zy', 'abcdef', 'qwer'] L.sort()#['abcdef', 'qwer', 'zy'] 리스트의 요소인 문자열의 길이는 정렬과는 관계가 없습니다. 다만 문자열 길이 순서대로 정렬하고 싶은 경.. 2020. 2. 13.
#1. 선형 리스트 개념 리스트에 나열한 데이터들이 일정한 순서를 가지고 있으면 선형 리스트(Liner List) 또는 '순차 리스트'라 부른다. Python 리스트 array = [10,20,30,50] #리스트 데이터 추가 array.append(60)#[10,20,30,50,60] array.insert(3,40)#[10,20,30,40,50] #리스트 데이터 삭제 array.pop()#리스트의 마지막 원소 삭제 array.pop(1)#리스트의 1 번째 원소(20) 삭제 del array[1] #리스트의 1 번째 원소(20) 삭제 array.remove(20)#리스트의 1 번째 원소(20) 삭제 #리스트 원소 탐색 array.index(20) #리스트의 원소 10의 인덱스 1 pop, del, remove 차이 pop.. 2020. 2. 12.
#4_팩토리얼 구하기 [팩토리얼 구하기] 문제 1부터 n까지 연속한 정수의 곱을 구하기 입력 3 출력 6 코드 def times_n(n): if n == 0: result = 1 else: result = 1 for i in range(1,n+1): result = result * i return result 결과 [재귀호출] 재귀호출이란 어떤 함수안에서 자기 자신을 부르것을 의미한다. 재귀 호출 프로그램이 정상적으로 작동하려면 종료 조건이 필요하다. 즉 , 특정 조건을 만족하면 더는 자기 자신을 호출하지 않고 멈추도록 설계하여한다. 그렇지 않으면 계속 반복하다 재귀 에러를 발생시키게 된다. 재귀 호출을 이용한 팩토리얼 알고리즘 1! = 1 2! = 2 x 1 3! = 3 x (2 x 1) 4! = 4 x (3 x 2 x 1.. 2019. 11. 12.