본문 바로가기

전체 글25

[백준 11055번][실버2] 가장 큰 증가 부분 수열 (파이썬) 문제출처 https://www.acmicpc.net/submit/11055/47854662 로그인 www.acmicpc.net 문제를 스스로 해결하였는가? -> O 11053번(가장 긴 증가하는 부분 수열)문제와 거의 똑같다. 이 문제를 풀기 전에 11053번을 먼저 풀어서 쉽게 풀 수 있었다. 백준에 관련된 응용문제가 많은 것 같으니 다음에 참고할 수 있도록 정리해두자. 사용된 알고리즘 dp 풀이 전략 11053번과 아이디어는 똑같다. 다만 초기 dp값 설정이 다르고, dp값 안에 수열의 길이가 들어가는게 아니라 수열의 합이 들어가게 된다. dp[i]는 0부터 i까지 수열에서 A[i]를 포함한 증가 부분 수열의 합 중 가장 큰 값이다. 전체코드 n = int(input()) A = list(map(in.. 2022. 8. 17.
[백준 11053번][실버2] 가장 긴 증가하는 부분 수열 (파이썬) 문제출처 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 문제를 스스로 해결하였는가? -> X 한 번 풀었던 적 있는 문제다. 한번 푼 문제는 다시 안푸는 성격인데 11055번(가장 큰 증가 부분 수열)문제랑 거의 똑같아 보여서 복습할 겸 다시 풀었다. 근데 또 못풀었다... 비슷한 응용문제가 많은거 같은데 다음엔 까먹지 말고 제대로 풀자. 사용되는 알고리즘 dp 풀.. 2022. 8. 17.
[백준 14501번][실버3] 퇴사 (파이썬) 문제출처 https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 문제를 스스로 해결하였는가? -> X 실버3이라고 만만하게 봐서는 안되겠다. 알고리즘 분류를 참고해 DP문제임을 알았는데도 아이디어가 떠오르지 않아서 결국 구글링했다. 아이디어를 캐치하니 코드는 금방 짤 수 있었다. 물론 아이디어 캐치하는게 제일 중요한 문제겠지만.. 무튼 아이디어를 시각적으로 잘 그려낸 블로그가 있어서 링크남긴다. DP 좀 잘 풀고싶다... 알고리즘 분류 DP 아이디어 퇴사일부터 역순으로 dp값을 계산해야한다. 전체코드 import sys input = sys.stdin.readline n = int(inp.. 2022. 8. 16.
[시계열 분석] 차분(Differencing)과 ARIMA(p,d,q) 모형 정상성 AR(1), AR(p) MA(q) ARMA(p, q) ARMA모형은 박스-제킨스 방법론에 따른 정상시계열에 대한 분석 방법이다. 그렇다면 비정상시계열에 대한 분석은 어떻게 진행될까? 단순히 비정상시계열을 정상시계열로 바꿔주기만 하면 된다. 비정상시계열에는 여러 종류가 있겠지만 오늘은 (확률적) 추세를 가지는 비정상시계열에 대한 분석방법인 ARIMA모형에 대해 다루려고 한다. 추세를 가지는 비정상시계열을 어떻게 정상시계열로 바꿀 수 있을까? 단순히 추세만 제거해주면 된다. 추세를 제거해주는 방법 중 하나가 차분(Differencing)이라 할 수 있다. 우선 시계열 $y_{t}$에 대한 차분이 어떻게 정의되는지 살펴보자. $y_{t}$에 대한 1차 차분 : $$ w_{t} = (1-B)y_{t} =.. 2022. 8. 16.