EomCoding(70)
-
Python 51 - 시간복잡도, 공간복잡도, 빅오표기법 ( 알고리즘 공부 )
목차 1. 시간복잡도 2. 공간복잡도 3. 시간과 메모리 측정 개요 복잡도는 알고리즘의 성능을 나타내는 척도이다. 복잡도는 시간 복잡도와 공간 복잡도로 나눌 수 있다. 쉽게 말하면 시간 복잡도는 특정한 크기의 입력에 대하여 알고리즘이 얼마나 오래 걸리는지를 의미하고, 공간 복잡도는 특정한 크기의 입력에 대하여 알고리즘이 얼마나 많은 메모리를 차지하는지를 의미한다. 복잡도를 측정함으로써 다음과 같은 2가지를 계산할 수 있다. 시간 복잡도 : 알고리즘을 위해 필요한 연산의 횟수 공간 복잡도 : 알고리즘을 위해 필요한 메모리의 양 1. 시간 복잡도 알고리즘 문제를 풀 때 단순히 ‘복잡도’라고 하면 보통은 시간 복잡도를 의미한다. 시간 복잡도를 표현할 때는 빅오 표기법을 사용한다. 빅오 표기법을 간단히 정의하자..
2021.06.12 -
Python 50 - 재귀 호출 / 스택(stack) / 유클리드 호제법
재귀 호출 1. 자기 자신을 다시 호출하는 기능 2. 함수 안에서 자신의 함수를 호출하는 기능 3. 반복문 + stack 구조 (뒤로가기, undo, ctrl+z) def sum(n): if n == 0: return 0 return sum(n-1)+n # sum(n-1)에 대한 값은 모르니까 stack에 쌓아놓는다. print(sum(5)) 출력값 : 15 돌아가는 방식(stack이 쌓이는 모습) print(sum(1)) -----> 1 1이 아래로 넘어감 print(sum(2)) -----> 1 + 2 3이 아래로 넘어감 print(sum(3)) -----> 3 + 3 6이 아래로 넘어감 print(sum(4)) -----> 6 + 4 10이 아래로 넘어감 print(sum(5)) -----> 10 ..
2021.06.11 -
Python 49 - 전역변수 지역변수
함수 반복되는 코드를 하나로 묶어서 처리하는 방법 기능의 프로그램 def 함수이름(인수,인수,...) : 인수는 옵션이다. 넣을값이 없으면 안넣어도 된다. / 형식매개변수라고도 한다. 수행할 문장1 수행할 문장2 … return 값 return도 옵션이다. 함수이름() 실제 매개 변수 함수 연습하기 def mul(x, y) : result = x * y return result print(mul(1, 2)) 출력값 : 2 return 값을 변수에 저장할 수 있다. : a = mul(1, 2) print(a) 출력값 : 2 가변 인수를 사용한 함수 가변 인수 : 인수를 여러개 사용할 수 있다. 앞에 *을 붙여준다. def traf(*x): for i in x: print(i) y = traf("자동차","..
2021.06.10 -
Python 48 - 조건문 제어문 _ for 반복문
for문 for 변수 in (리스트 , 튜플 , 문자열 가능) : 수행해야할 문장 for문 연습하기 dessert = ['초콜릿','쿠키','마시멜로','푸딩','껌'] for i in dessert : print(dessert) --출력값-- ['초콜릿', '쿠키', '마시멜로', '푸딩', '껌'] ['초콜릿', '쿠키', '마시멜로', '푸딩', '껌'] ['초콜릿', '쿠키', '마시멜로', '푸딩', '껌'] ['초콜릿', '쿠키', '마시멜로', '푸딩', '껌'] ['초콜릿', '쿠키', '마시멜로', '푸딩', '껌'] 리스트안에 있는 값이 여러개이면 각각의 변수를 따로 만들어야 한다. : a = [('사과','잼'),('딸기','시럽'),('호두','과자')] print(type(a)) ..
2021.06.09 -
Python 47 - 조건문 제어문 _ while문
while문 : 조건이 True인 동안에 반복을 수행한다. while 조건문 : 수행할 문장 while 조건문 : 수행할 문장 if 조건문 : break while문 연습하기 i = 0 while i
2021.06.08 -
Python 46 - 조건문 제어문 _ IF문
IF문 IF문 연습하기 if 조건문 : 수행해야할 문장 else : 수행해야할 문장 x = "네네" if x == "네네" : print("치킨") 출력값 : 치킨 x = "국어" if x == "영어": print("ABC") else : print("가나다") 출력값 : 가나다 if 문에 값이 하나라도 들어가 있다면 True이다. (bool타입 조건 참조) : if 100: print('참') else: print('거짓') 출력값 : 참 if 문에 값이 없다면 False이다. :if 0: print('참') else: print('거짓') 출력값 : 거짓 and 가 들어갔을떄 앞의 조건이 False면 뒤의 조건을 보지 않는다. : x = 0 if x>10 and 1/x : print('참') els..
2021.06.07