본문 바로가기
728x90

전체 글424

Baekjoon Training #1062 #1062 가르침 오답(by chatGPT) import itertools import sys input = sys.stdin.readline N, K = map(int, input().split()) words = [input().strip() for _ in range(N)] if K < 5: print(0) else: alpha_list = set('abcdefghijklmnopqrstuvwxyz') - set('antic') max_count = 0 for comb in itertools.combinations(alpha_list, K-5): count = sum(all(c in comb for c in w[4:-4]) for w in words) max_count = max(max_count, .. 2023. 3. 10.
Baekjoon Training #3085 #3085 사탕 게임 import sys input = sys.stdin.readline n = int(input()) board = [list(input()) for _ in range(n)] # 게임판을 세팅할 2차원 배열 board정의 max_count = 0 # 결과를 도출할 최대값 카운터 0으로 초기화 def check(): # 같은 색의 사탕이 있나 체크하는 함수 global max_count # max_count값을 전역변수로 선언 for i in range(n): cnt = 1 # 기본적을 연속된 사탕의 수는 1로 초기화 for j in range(n-1): # 오른쪽 방향 체크 if board[i][j]==board[i][j+1]: # 우측 사탕과 색이 일치하면 cnt += 1 # cnt.. 2023. 3. 9.
Yale - Financial Markets (Lesson #3) Insurance Fundamentals Risk Pooling이 보험의 모든 가치의 원천이다. Risk pooling이란 여러 수요를 통합하여 관리하게 되면 수요의 불확실성이 상대적으로 감소하게 된다는 개념이다. 사망 확률을 p라고 두고 사람들의 수를 n으로 두면 다음과 같이 risk pooling 공식을 작성할 수 있다. 이는 사건 발생 수가 늘어난다면 그 결과의 평균은 기댓값에 가까워야한다는 대수의 법칙에 의해 설명된다. 여기서 대수의 법칙은 카지노가 유지되는 원리이다. 잭팟이 터진 순간은 카지노에 손해일지 몰라도 도박이 진행될 수록 확률은 기댓값에 수렴하기에 카지노는 일정한 수익을 낼 수 있는 것이다. Moral Hazard는 도덕적 해이인데 보험을든 개인이 부적절한 방법으로 보험금을 얻어 이익을.. 2023. 3. 9.
Lecture3-Vector Analysis(2) Dot product 이전 수업에 이어서 내적 연산에 대해 알아보았다. 위와 같이 기하학적인 해석으로 내적의 기본 연산을 이해할 수도 있다. 또는 위와 같이 기하학적인 해석을 통해 추가적인 성질도 구해볼 수 있다. Cross Product 외적은 위와 같은 연산으로 결과가 벡터이고 그 방향에 주의를 해야한다. 흔히 아래와 같이 나사를 통해 방향을 기억하곤한다. 방향이 있는 벡터 값이기 때문에 교환법칙이 성립하지 않고 부호가 변한다. (AxB = -BxA) 또한 식에 sin이 있는 것을 통해 같은 벡터 두개를 외적하면 sin0이 곱해져서 0이 된다는 사실도 유추할 수 있다. 해당 사실을 통해 아래와 같은 연산이 가능함을 알 수 있다. 해당 연산의 부호가 헷갈린다면 행렬의 det값을 계산하던것을 기억하여 이.. 2023. 3. 9.
Lecture4 - 점화식과 점근적 복잡도 분석 점화식의 이해 점화식이란 어떤 함수(보통 입력 변수를 n등의 미지수로 표현)를 자신보다 더 작은 변수에 대한 함수와의 관계로 표현한 식이다. 병합 정렬 알고리즘을 통해 살펴보자 mergeSort(A[],p,r){ if(p 2023. 3. 8.
Google ML crash course (7) 일반화 머신러닝에서 분류를 통해 답을 찾아내기 위해 일반화는 매우 중요하다. 그러나 아래와 같이 선형적으로 분류를 하는 경우 제대로 분류가 되지 않아서 틀린 결과가 나오는 경우가 존재한다. 따라서 아래와 같이 복잡한 구분선을 그어서 기존 데이터를 100% 정확하게 분류할 수 있다. 그러나 이러한 경우 아래와 같이 새로운 데이터가 들어왔을때 적절하게 분류해 낼 수가 없다. 이러한 경우를 "과적합(overfit)"이라고 표현한다. 모델이 너무 복잡하여 새로운 데이터를 분류하는데 어려움이 있는것이다. 과적합 현대에 와서, 우리는 "Okham의 면도날"이라는 통계 학습 이론과 계산 학습 이론의 분야로 공식화했다. 이 이론은 모델의 복잡성과 훈련 데이터에 대한 모델의 성능과 같은 요소를 기반으로 새로운 데이터로 .. 2023. 3. 7.
Lecture3 - 알고리즘 설계와 분석의 기초(2) Big O relation d>c>1인 경우 b>1, c,d>0인 경우 b>1, d>0인 경우 c>b>1인 경우 합성 함수에서의 Big O relation Big Omega notation Ω(g(n))과 같이 표기하고 적어도 g(n)의 비율로 증가하는 함수라는 뜻으로 O(g(n))과 대칭적이라고 볼 수 있다. Formal definition은 Ω(g(n)) = { f(n) | ∃c > 0, n0 ≥ 0 s.t.∀n ≥ n0 , cg(n)≤f(n) }과 같은 방식으로 정의된다. 직관적으로 생각해보면 "f(n) = Ω(g(n)) ⇒ f는 g보다 느리게 증가하지 않는다"라고 생각할 수 있다. Big Theta notation Θ(g(n))과 같이 표기하고 정확히 g(n)의 비율로 증가하는 함수를 뜻한다. F.. 2023. 3. 6.
실전 시계열 분석 - Intro 시계열의 개요와 역사 시계열 분석(Time Series Analysis)은 시간 순서대로 정렬된 데이터에서 의미 있는 요약과 통계 정보를 추출하기 위한 것으로 과거 행동을 진단할 뿐만 아니라 미래행동을 예측하기 위해 이용된다. 과거부터 의학, 기상학, 경제학, 천문학등 다양한 학문에서 이용되어왔고 최근들어 기술의 발전으로 더욱 의미 있는 높은 수준의 결과를 만들어내고 있다. 머신러닝에서 시계열 분석 기계 학습은 시계열 데이터를 분석하는 데 점점 더 인기 있는 도구가 되었다. 시계열 분석에 적합한 머신러닝 알고리즘 예시들은 다음과 같다. 자기 회귀 통합 이동 평균(ARIMA): ARIMA는 관측치와 과거 관측치의 선형 조합 사이의 의존성을 모델링하는 시계열 예측 알고리즘이다. 지수 평활(ETS): ETS는.. 2023. 3. 5.
Baekjoon Training #1715 #1715 카드 정렬하기 import heapq import sys input = sys.stdin.readline n=int(input()) cards = [int(input()) for _ in range(n)] heapq.heapify(cards) # cards 리스트를 힙으로 바꿔주는 함수 ans = 0 # 결과의 초기값을 0으로 설정 while len(cards) > 1: # cards 리스트의 길이가 1보다 클때 연산을 진행 tmp = heapq.heappop(cards) + heapq.heappop(cards) # 최소값 두개의 합을 tmp에 저장하고 heapq.heappush(cards, tmp) # 해당 tmp값을 heap에 넣음 ans += tmp # 정답에 tmp값을 더해나감 prin.. 2023. 3. 5.
Lecture1,2 - 알고리즘 설계와 분석의 기초(1) 알고리즘이란? 알고리즘이란 어떤 작업을 수행하기 위해 입력을 받아 원하는 출력을 만들어내는 과정을 체계적 으로 기술한 것을 말한다. 다음은 문제, 입출력 및 알고리즘에 대한 간단한 예시이다. ▪ 문제: 100명의 학생들의 시험점수 중 최대값을 찾으라 ▪ 입력: 100명의 학생들의 시험점수 ▪ 출력: 위 100개의 시험점수들 중 최대값 ▪ 알고리즘: Algorithm maxScore(x[], n) { x[1...n]의 값을 차례대로 보면서 최대값을 계산 위에서 찾은 최대값을 반환 } 또한 현존하는 어떤 알고리즘으로도 polynomial시간 내에 최적의 해를 구할 수 없는 "Travelling Salesman Problem"도 있다. ▪ 입력: 어떤 영업사원이 방문해야 할 고객 n명의 위치 ▪ 출력: 모든 .. 2023. 3. 5.
Lecture1,2-Vector Analysis(1) Scalar vs Vector Scalar: 크기만 존재하는 물리량 ex) temperature, time, ditance, mass, density, pressure, voltage... Vector: 크기와 방향이 모두 존재하는 물리량 ex) force, velocity, acceleration Scalar field: 스칼라장(스칼라 물리량의 위치별 분포) Vector field: 벡터장(벡터 물리량의 위치별 분포) Vector 벡터는 위와 같이 시점, 종점, 길이로 표현이된다. 벡터간의 연산은 다음과 같다. 벡터 연산도 결합법칙과 교환법칙이 성립된다. Vector Representation using Orthogonal Rectangular Unit Vectors 위의 방식처럼 벡터를 표현하면 다.. 2023. 3. 3.
Yale - Financial Markets (Lesson #2) VAR VAR은 두가지 의미로 쓰인다. 하나는 variance(편차), 또다른 하나는 "value at risk"(최대예상손실액)이다. 포트폴리오의 편차는 변동성의 척도로 정의된다. 최대예상손실액이라는 뜻인 VaR은 a를 소문자로 쓰고 1987년 주식 폭락 이후에야 생긴 신생 용어이다. 이는 재무 담당자가 투자나 포트폴리오의 위험성을 정량화하기 위해 사용되는 단위이고 확률과 기간에 따라 달러 단위로 표현된다. 예를 들어 1%, one-year value at risk of $10 million라고 한다면 1년동안 1000만 달러를 잃을 확률이 1%라는 것이다. Stress Tests 2007-2008년의 금융 위기 이후에 인기가 많아진 위험성을 표현하는 또다른 방식이다. 이는 기업이나 포트폴리오의 위험성.. 2023. 3. 2.
728x90