공부 !/Algorithm
-
Dynamic Programming (동적계획법)공부 !/Algorithm 2021. 11. 7. 18:16
DP ? " 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법 " 이런 문제에 활용해요 ! 큰 문제를 작은 문제로 나눌 수 있다 작은 문제에서 구한 정답이 그것을 포함하는 큰 문제에서도 동일하다 최적성의 원리를 만족하는지 판단 최석성의 원리란 ? 주어진 문제의 부분해가 전체 문제의 해를 구하는데 사용되는지를 의미한다 피보나치 수열로 이해하기 DP 의 가장 좋은 예시인 피보나치 수열이 있다 F(n) 을 구할 때 트리를 보면 f(n-3) 연산식이 여러 번 사용되는데 상위 문제인 F(n) 을 구하기 위해서 여러 소문제들이 사용된다는 것을 알 수 있다 자주 사용되는 소문제들이 존재할 경우 자원의 낭비를 막기위해 " 동적프로그래밍에서는 소문제의 해를 저장" 해두고 사용하게 된다 ! 중복 연산을 방지하기 위..
-
Dictionary공부 !/Algorithm 2021. 7. 21. 12:23
Dictionary 파이썬의 딕셔너리(Dictionary) 타입은 Key, Value 형태로 이루어져 있다 Key를 이용하여 데이터를 찾으므로, 속도를 빠르게 만드는 구조이다 데이터의 저장과 검색 속도가 빠르지만 저장공간이 좀 더 필요하고 해시는 키에 대한 데이터의 중복이 있는지 확인이 쉽다 ! dict 선언 · 수정 · 추가 dic = {'name':'suzy', 'age':24} # 새로운 키와 값 추가 dic['birth']= '0619' # 수정 ( 하나의 키 값을 수정하는 경우 ) dic['age'] = 25 # 수정 ( 여러 값을 수정하는 경우 ) dic.update({'age':24, 'birth':'0721'}) 작성한 예제 코드를 보면 name, age 라는 각 key 값에 대한 valu..
-
문자열 나누기 - split()공부 !/Algorithm 2021. 6. 11. 23:17
문자열 나누기 split() python input() 는 한 줄 단위로 입력을 받는다 split() 를 사용하면 공백을 기준으로 입력된 값들을 나누어 자른다 ! 주로 나눠서 리스트로 만들때 사용하는 함수다 x = "a b c" y = x.split() print(y) split() 처럼 괄호 안에 아무 값도 넣어 주지 않으면 공백이 기준이다 sep 파라미터는 문자열을 나누는 기호 값을 입력하면 되고 split(sep=',') 라면 ,를 기준으로 문자열을 잘라준다 split(',') 처럼 sep 를 생략해도 된다 x = "a,b,c" y = x.split(sep = ',') z = x.split(',') print(y) print(z) print 문에 sep 를 사용하면 기호를 사이에 두고 값을 출력한다..