본문 바로가기
728x90

분류 전체보기431

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.
Yale - Financial Markets (Lesson #1 - Intro) Financial Markets 코세라에서 예일대학교의 금융시장 강의를 수강하여 금융시장에 대한 기본 지식을 쌓으려고 한다. 강의를 시작하기에 앞서 예일 대학교의 카탈로그에 오랫동안 있던 안내문의 내용이 인상적이어서 담아보았다. " Financial institutions are a pillar of civilized society, directing resources across space and time to their best uses. (금융 기관은 공간과 시간을 넘나드는 자원을 최대한 활용하도록 유도하는 문명 사회의 기둥이다.) " 금융 기관의 중요성을 한줄로 나타내는 좋은 표현으로 느껴졌다.금융 기관의 중요성을 한줄로 나타내는 좋은 표현으로 느껴졌다. Finance is Technology 금.. 2023. 3. 1.
Udemy - 머신러닝의 모든 것 (Multiple Linear Regression-2) 스타트업 투자 프로그램 위와 같은 데이터 셋을 이용하여 투자해야할 스타트업을 선정하는 프로그램을 만들어본다. Data preprocessing 기본적으로 데이터 전처리 과정이 필요하다. state 항목이 수치형 데이터가 아니라 항목형 데이터이므로 encoding과정을 통해 수치형 데이터로 변환을 해준다. 이때 one-hot encoding 방식, 즉 3개의 범주이므로 3개의 항목을 만들어주어 해당하는 항목에만 1이들어가고 나머지는 전부 0으로 맞춰주는 방식을 이용하여 수치형 데이터로 만들고자 한다. Training from sklearn.linear_model import LinearRegression sklearn(사이킷런) 라이브러리에서 linear_model 모듈의 LinearRegression 클.. 2023. 2. 28.
Google ML crash course (6) Linear regression(2) 이번에는 실제 데이터셋을 이용해보고자 한다. 캘리포니아의 집값에 대한 데이터셋을 이용하여 선형회귀 과정을 밟아보자. #@title Import relevant modules import pandas as pd import tensorflow as tf from matplotlib import pyplot as plt # The following lines adjust the granularity of reporting. pd.options.display.max_rows = 10 pd.options.display.float_format = "{:.1f}".format 머신러닝에서 csv파일을 이용하는데 csv파일이란 Comma-seperated values 파일로 콤마.. 2023. 2. 27.
Google ML crash course (5) tf.keras tf.keras를 사용하여 선형 회귀를 구현해보고자 한다. import pandas as pd import tensorflow as tf from matplotlib import pyplot as plt build_model(my_learning_rate)라는 빈 model을 build하는 함수와 train_model(model, feature, label, epochs)라는 model을 학습시키는 함수를 정의한다. #@title Define the functions that build and train a model def build_model(my_learning_rate): """Create and compile a simple linear regression model.""" # .. 2023. 2. 25.
Baekjoon Training #11053 #11053 가장 긴 증가하는 부분 수열 import sys input = sys.stdin.readline n = int(input()) # 수열의 크기 입력 num_list = list(map(int,input().split())) # 수열을 이루는 숫자 입력 # dp 리스트 생성 dp = [0 for _ in range(n)] # 이중 for문을 이용하여 증가수열 관리 for i in range(n): for j in range(i): if num_list[i] > num_list[j] and dp[i] < dp[j]: dp[i] = dp[j] dp[i] += 1 print(max(dp)) # 최대 증가수열의 크기 출력 이중 for문은 최대 증가수열을 찾는 알고리즘으로 이 코드의 핵심 발상이다. 우.. 2023. 2. 24.
728x90