Loading...
2021. 11. 17. 21:58

선형대수학 기본 용어 -상급자편 5-

1. dimension vector space $V$의 basis의 원소의 개수를 $V$의 dimension이라고 부르고 기호로 dim(V)로 표시합니다. 모든 vector space는 basis를 가지는데 유일하지는 않습니다. 무수히 많은 basis를 가질 수 있는데 그러나 모든 basis는 동일한 원소의 개수를 가지므로 dim(V)는 유일하게 정의됩니다. basis의 원소의 개수가 무수히 많으면 $V$가 infinite dimensional하다고 부르고 유한하면 finite dimensional이라고 부릅니다. 1) vector space $V$의 linear subspace가 $W$이면 $dim(W) \leq dim(V)$ 2) 만약 $V$가 finite dimensional vector space..

2021. 11. 17. 01:29

stack 활용법 - 올바른 괄호 문자열 판별

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다. (), [], {} 는 모두 올바른 괄호 문자열입니다. 만약 A가 올바른 괄호 문자열이라면, (A), [A], {A}도 올바른 괄호 문자열입니다. 예를 들어, []가 올바른 괄호 문자열이므로, ([])도 올바른 괄호 문자열입니다. 만약 A,B가 올바른 괄호 문자열이라면, AB도 올바른 괄호 문자열입니다. 예를 들어, {}와 ([])가 올바른 괄호 문자열이므로, {}([])가 올바른 괄호 문자열이므로, {}([])도 올바른 괄호 문자열입니다. 대괄호, 중괄호, 그리..

선형대수학 기본 용어 -상급자편 4-

1. vector space 추상적으로는 벡터들의 집합이지만 일반적으로는 임의의 $v _{1} ,v _{2} \in V$와 scalar c에 대하여 $v _{1}+v _{2} \in V$를 만족시키고 $cv _{1} \in V$를 만족시키면 $V$를 vector space라고 부릅니다. vector space $V$의 부분집합이 vector space이면 $V$의 linear subspace 혹은 간단히 subspace라고 부릅니다. 2. span 어떤 vector space S에 속하는 $v _{1} ,v _{2} ,...,v _{n} \in S$에 대하여 $v _{1} ,v _{2} ,...,v _{n} \in S$의 임의의 부분집합으로 만들 수 있는 모든 linear combination의 집합을 ..

합의 차이가 최소가 되는 분할 1편

1. 알고리즘 1 이상의 양의 정수가 리스트 내에 존재 하나의 리스트를 두개의 리스트로 분할하고자 하는데 각 리스트의 수의 합의 차이가 최소가 되도록 분할하고자 한다. 합의 차이의 최솟값을 return 가장 쉬운 방법은 itertools.combinations를 이용해서 완전 탐색을 하는 것 그러나 완전 탐색을 하면 효율성이 매우 떨어짐 먼저 초기 변수를 지정함 mmr은 주어진 전체 리스트 n은 리스트의 인덱스 지정 team1은 첫번째 리스트의 정수 총합 team2는 두번째 리스트의 정수 총합 table은 dynamic programming table def findMinAbsDiff(mmr, n, team1, team2, table): # Base case: if the list becomes empt..

k fold cross validation을 구하는 알고리즘 문제 복기하기

1. 알고리즘 주어진 데이터에 대한 k fold cross validation은... 1) 데이터를 k개의 크기가 같은 부분집합으로 분할한다. 여기서 전체 데이터 개수가 k의 배수가 아니면 마지막 집합은 나머지 데이터로만 채워넣는다 2) k-1개의 부분집합을 training set, 나머지 1개의 부분집합을 test set으로 한다 3) test set을 고르는 방법은 총 k가지가 있다. 4) (training set, test set) 순서로 총 k개의 세트를 하나의 list에 넣어 return from collections import deque def kfold(indices,k): answer = [] deque_data = deque(indices) data_num = len(indices) i..

2021. 11. 15. 21:35

선형대수학 기본 용어 -상급자편 3-

1. gaussian elimination 1) 주어진 행렬의 $i$번째 행과 $j$번째 행을 뒤바꾼다. 2) 주어진 행렬의 $i$번째 행에 0이 아닌 scalar를 곱한다. 3) $i$번째 행의 scalar배를 다른 $j$번째 행에 더한다. 이 때 $i$번째 행은 그대로 되고 $j$번째 행만 변하는 것이다. 위의 3가지 elementary row operation은 행이 아니라 column에서도 가능하다 elementary row operation으로 주어진 행렬을 변환시켜도 행렬의 rank는 변하지 않는다. elementary row operation의 결과로 주어진 행렬을 변환시켰을 때 얻을 수 있는 행렬로 다음과 같은 조건을 모두 만족시킨 형태를 말한다. 1) 모든 원소가 0인 행은 밑에 있다. ..