분류 전체보기 104

[자료구조와 알고리즘] #5. 스택

스택 선형 자료 구조로 Last in First out 구조를 가짐 Push : 데이터를 넣는 것 Pop : 원소 꺼내기 S = Stack() #A,B를 스택에 넣음 S.push(A) S.push(B) #A,B를 각각 꺼내서 r1,r2에 넣음 r1 = S.pop(). #B먼저 인출 r2 = S.pop(). #A인출 #비어있는 스택에서 데이터 원소를 꺼내려고 할경우 오류 발생 : 스택언더플로우 r3 = S.pop() #꽉찬 스택에 데이터 원소를 넣으려고 할 경우 : 스택오버플로우 S.push(E) 스택의 추상적 자료 구조 구현 1. 배열(array)를 이용하여 구현 Python의 리스트와 메서드를 이용 class ArrayStack: def __init__(self): #빈스택 초기화 self.data =..

[자료구조와 알고리즘] #3. 연결리스트:양방향

프로그래머스의 '어서와! 자료구조와 알고리즘은 처음이지?'를 학습하며 정리한 내용입니다. 어서와! 자료구조와 알고리즘은 처음이지? × 이 강의는 Python 기반으로 진행하므로 최소한 문법에는 익숙한 상태로 수강해야 합니다. 듣고는 싶은데, Python을 잘 모르나요? 이 무료 강의 부터 듣고 수강하세요. × C++ 기반의 자료구조와 알 school.programmers.co.kr 양방향 = 앞 뒤 모두 접근 가능한 것 class Node : def __init__(self,item): self.data = item self.prev = None self.next = None class DoublyLinkedList: def __init__(self,item): self.nodeCount = 0 #더미노..

[자료구조와 알고리즘] #3. 연결리스트:단방향

프로그래머스의 '어서와! 자료구조와 알고리즘은 처음이지?'를 학습하며 정리한 내용입니다. 어서와! 자료구조와 알고리즘은 처음이지? × 이 강의는 Python 기반으로 진행하므로 최소한 문법에는 익숙한 상태로 수강해야 합니다. 듣고는 싶은데, Python을 잘 모르나요? 이 무료 강의 부터 듣고 수강하세요. × C++ 기반의 자료구조와 알 school.programmers.co.kr 연결된 리스트 구성 요소 노드 : 데이터 + 링크 데이터 e.g. 67이라는 값이 데이터, 해당 데이터의 연결고리가 링크 노드 내의 데이터는 다른 구조로 이루어질 수 있음( 문자열, 레코드, 또 다른 연결리스트 등) #자료구조 정의 class Node : def __init__(self,item): self.data = ite..

[자료구조와 알고리즘] #2. 재귀 알고리즘

프로그래머스의 '어서와! 자료구조와 알고리즘은 처음이지?'를 학습하며 정리한 내용입니다. 어서와! 자료구조와 알고리즘은 처음이지? × 이 강의는 Python 기반으로 진행하므로 최소한 문법에는 익숙한 상태로 수강해야 합니다. 듣고는 싶은데, Python을 잘 모르나요? 이 무료 강의 부터 듣고 수강하세요. × C++ 기반의 자료구조와 알 school.programmers.co.kr 문제1. 피보나치 순열 구현하기 문제 : 인자로 0, 혹은 양의 정수 x가 주어질때 피보나치 순열의해당 값을 구하여 반환하는 함수 참고 : 피보나치 순열 F0 = 0 F1 = 1 F2 = F0 + F1 = 0+1 = 1 F3 = F1 + F2 = 1 + 1 = 2 F4 = F2 + F3 = 1 + 2 = 3 def soluti..

[자료구조와 알고리즘] #1. 배열

프로그래머스의 '어서와! 자료구조와 알고리즘은 처음이지?'를 학습하며 정리한 내용입니다. 선형배열 문제1. 정렬된 리스트에 원소 삽입하기 문제 : 오름차순으로 정렬된 리스트에 x가 주어졌을 때 순서에 맞게 해당 x 삽입하기 def solution(L, x): answer = [] if max(L) = x: L.insert(i,x) break answer = L return answer 문제2. 리스트에서 원소 찾아내기 문제 : 리스트 L에서 원소 x가 발견될 경우 해당하는 인덱스를 구해서 ..

[Basic Python] 클래스 (Class)

※ 점프투 파이썬, 프로그래머스 파이썬 무료 강의 등을 통해 정리한 내용입니다. 점프투 파이썬 프로그래머스 파이썬 강의 인스턴스와 클래스 클래스 함수, 변수 등을 모아두는 집합체 e.g. 쿠키틀 인스턴스 클래스로 인해 생성된 객체들 인스턴스는 각각의 값을 갖고 있다 같은 값을 가진 instance1, instance2가 있을 때 같은 같지만 instance1 == instance2 본질이 같진 않다 instance1 is not instance2 e.g. 각각의 쿠키 클래스 클래스 만들기 클래스 안에 변수, 함수(메서드) 모두 넣을 수 있다 #클래스 선언하기 class Human(): #클래스에 해당하는 인스턴스 설정 person1 = Human() person2 = Human() #인스턴스에 값 넣기 ..

[Reinforcement learning]#2. State-action value function & #3. Continuous state spaces

#2. State-action value function ▶️ State-action value function definition (=Q function, Q*) Q(s,a) = total return if you starts in state s take action a (once) then behave optimally after that Picking actions state s에서는 Q(s,a)를 최대화할 수 있는 행동이 가장 좋음 ▶️ Bellman Equation s',a' : s,a 이후의 state, action terminal state에서의 Q(s,a) = R(s)임 ▶️ Random(stochastic) environment Expected Return → 최대로 할 수 있어야 함 잘..

[Reinforcement learning]#1. Introduction

#1. Introduction ▶️ What is reinforcement learning 특정 State 에 따라 rewards를 정적강화(+n)/부적강화(-m) 을 세팅해서 자동으로 good action으로 행동하게 하는 것 ▶️ Mars rover example (s,a,R(s),s') = state, action, rewards, updated state after take action ▶️ The return in reinforcement learning Discount factor (감마) : 이동(action)에 대한 비용을 계산하는 것 . 증권에서는 돈의 가치 하락 등을 반영함. State에 따라 행동에 따른 return 값이 다르므로 이를 행동 가이드에 반영할 수도 있음 To summa..

[Unsupervised Learning, Recommenders, Reinforcement Learning] #4. Content-based filtering

2주차 강의에서 배울 추천 시스템 종류 #4. Content-based filtering ▶️ Collaborative filtering vs Content-based filtering Collabo : ratings of user를 사용하여 유사한 rating을 준 사람들의 rating값에 기반하여 추천 Content : user, item's features를 사용하여 추천 r(i,j) : 사용자가 해당 아이템을 rating한 경우 (0,1) y(i,j) : 사용자가 아이템에 대해 매긴 점수 Examples of user and item features User feature (xu(j) for user j) 나이, 성별, 나라 본 영화 수 , 각 장르에 대한 평균 점수 Movie feature (x..

[Unsupervised Learning, Recommenders, Reinforcement Learning] #3. Collaborative Filtering

#3. Collaborative Filtering ▶️ Making Recommendation 예시 - nu = 사용자 수 - nm = 작품 수 - rij : 사용자 j가 작품 i를 평가했는지 여부 (0,1) - yij : j가 i를 평가한 점수 ▶️ Using per-item features 각 작품에 대한 Featurer가 있을 때 어떻게 사용 할 수 있을까 r(i,j) = user j 가 작품 i에 대해 점수를 매겼는지 여부 (1,0) y(i,j) = j가 i에 매긴 점수 wj, bj = j에 대한 파라미터들 xi = 작품 i에 대한 feature 벡터 wj * xi + bj = j의 i에 대한 점수를 예측하는 식 mj = j가 점수를 매긴 작품의 수 Cost function r(i,j)=1 일때만..