전체 글

1. Modulus & inner product 벡터를 단위벡터로 표현하기 벡터는 length(길이)와 direction(방향)을 가진다. 단위벡터 i,j 로 벡터 r을 표현할 수 있다. i 와 j 의 상수배를 제곱하고 루트를 씌우면 r의 크기(길이)가 된다. 이는 피타고라스 정리에 의한 것이다. Inner(dot) product 정의하기(내적) 내적은 inner product, dot product, scalar product, projection product 등 다양하게 불린다. 두 벡터 r, s 가 있을 때 innder product는 다음과 같이 정의된다. 결과값은 벡터가 아닌 스칼라다. 벡터의 성질 세 가지 ​1) commutative (교환법칙 성립) 2) distribute over add..
1. Operation with vectors 집을 사는 상황을 가정 120평, 침실 2개, 화장실 1개, 집값 30만 이와 같은 현실 문제를 해결하는데 도움이 되는 개념이다 ex) Machine Learning, Data Science 덧셈(addition) 방향을 나타내는 화살표의 끝을 이어서 덧셈을 수행 두 벡터 s,r 을 어떤 순서로 더하더라도 그 결과는 동일(s + r = r + s) associative law(결합 법칙) 적용됨. (r+s)+t = r+(s+t) 곱셈(multiplication) 벡터의 길이를 늘이거나 줄이는 것 음수를 곱하면 방향이 반대가 됨 muliplication by scalr - 그냥 벡터 각 원소에 scalr를 곱하면 됨 뺄셈(subtraction) 마찬가지로 방향..
1. Motivations for linear algebra 바나나와 사과를 사러가는 쇼핑 상황 두 개로 연립 방정식을 구성(simultaneous equations) 선형 변수(linear coefficinets)를 가진 것으로 이해하기 행렬 문제로 변환할 수 있다. 두 개를 넘어서는 다양한 변수를 한꺼번에 계산할 수 있다. 최적화 문제(optimization problem) 히스토그램(histogram)처럼 데이터를 도식화한 것들을 처리할 것이다. 이때 어떤 방정식(equation)을 통해 매개변수(parameter)를 찾을(fit) 것인가가 중요 2. Getting a handle on vectors 두 개의 변수(parameters)만 존재한다고 가정 평균(μ)과 표준 편차(sigma) 이 둘로 ..
문제 링크 https://www.acmicpc.net/problem/5525 5525번: IOIOI N+1개의 I와 N개의 O로 이루어져 있으면, I와 O이 교대로 나오는 문자열을 PN이라고 한다. P1 IOI P2 IOIOI P3 IOIOIOI PN IOIOI...OI (O가 N개) I와 O로만 이루어진 문자열 S와 정수 N이 주어졌을 때, S안에 PN이 몇 www.acmicpc.net 소스 코드 import sys input = sys.stdin.readline n = int(input()) m = int(input()) s = input().rstrip() # 투 포인터 알고리즘 left, right = 0, 0 cnt = 0 while right < m: # m 범위 내에서 반복 # 3개 슬라이싱..
문제 링크 https://www.acmicpc.net/problem/6064 6064번: 카잉 달력 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성된다. www.acmicpc.net 소스 코드 def num(m, n, x, y): while x
문제 링크 https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 소스 코드 import sys input = sys.stdin.readline n = int(input().rstrip()) m = int(input().rstrip()) if m: broken = list(map(int,input().rstrip().split())) else: broken = [] gap = abs(n-100) # +,- 로만 이동할 경우 for nu..
chanmuzi
chanmuzi