
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다. (), [], {} 는 모두 올바른 괄호 문자열입니다. 만약 A가 올바른 괄호 문자열이라면, (A), [A], {A}도 올바른 괄호 문자열입니다. 예를 들어, []가 올바른 괄호 문자열이므로, ([])도 올바른 괄호 문자열입니다. 만약 A,B가 올바른 괄호 문자열이라면, AB도 올바른 괄호 문자열입니다. 예를 들어, {}와 ([])가 올바른 괄호 문자열이므로, {}([])가 올바른 괄호 문자열이므로, {}([])도 올바른 괄호 문자열입니다. 대괄호, 중괄호, 그리..
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 이상의 양의 정수가 리스트 내에 존재 하나의 리스트를 두개의 리스트로 분할하고자 하는데 각 리스트의 수의 합의 차이가 최소가 되도록 분할하고자 한다. 합의 차이의 최솟값을 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..
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..
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인 행은 밑에 있다. ..
1. rank 주어진 행렬의 linear independent인 행의 수를 row rank, linear independent인 열의 수를 column rank라고 부릅니다. linear algebra에서 가장 중요한 결과 중 하나는 row rank와 column rank가 항상 같다는 것으로 그래서 둘 중 하나를 행렬의 rank라고 부릅니다. 기호로 보통 $r _{A} =r(A)=rank(A)$라고 표시합니다. 1) square matrix $A _{nn}$의 rank가 n이면 full rank를 가진다고 하고 모든 행이나 열이 linear independent하다고 부르며 $A _{nn}$이 invertible인 것과 필요충분조건이다. 2) square matrix가 아닌 경우 $A _{pq}$에서 ..