2025/10/05 4

53. Maximum Subarray - 카데인 알고리즘

문제를 해설할 때 특수한 DP로 카데인을 자주 언급하게 되는데,카데인 알고리즘이 정확히 어떤 이점이 있는지, 다른 DP와는 무엇이 다른지 명확히 설명한 글이 없어 이렇게 글을 작성한다. 핵심 아이디어는 다음과 같다.dp[i]: 반드시 i에서 끝나는 최대 부분 배열 합즉, 한쪽 끝을 고정함으로써 중간의 연산을 최적 부분구조 + 중복 부분 문제의 형태로 만드는 아이디어가 핵심이다. 그러면 이 문제에서 전체 정답은 max_i dp[i] 가 된다.마지막 원소 a[i]를 포함해야 하므로 두 선택지뿐이다.a[i] 혼자로 새로 시작한다.i−1에서 끝나는 최적해 dp[i−1]에 a[i]를 이어붙인다.따라서 점화식은 다음과 같다.초기값이 점화식은 “끝이 i인 최적해”의 정의에서 바로 나온다.아이디어임의의 최적 부분 배..

PS/이론 2025.10.05

랜덤 보상 지급기

요새 너무 삭막하게 사는 것 같아 나 자신에게 보상을 줄 필요성을 느꼈다.import numpy as npimport jsonfrom datetime import dateREWARDS_JSON = "rewards.json"RESULT_TXT = "result.txt"PROB_TXT = "prob.txt"def get_reward(rewards, prob): print("하루의 집중 작업(3시간 이상 걸리는 작업)을 완료했나요?") answer = input("Yes/No: ") if answer != "Yes": print("다음에 다시 오세요!") return print("어떠한 문제를 해결했나요?") answer = input("해결한 문제: ") ..

개인적 공간 2025.10.05

[1만 시간의 재발견] 의도적 연습

이 책은 최소한으로 지켜야 하는 '의식적인 연습'에 대해 형식적으로 정의한 책이다.기회, 동기부여, 노력 등의 가치를 주장하는 책이 아닌, "의도적 연습"의 방법을 제시하는 책이다.좋은 환경에 있을 수 없을 때, 내 주변의 환경을 의식적으로 '좋은 환경'에 몰아넣기 위한 최소 조건을 정의한다.주변 환경의 도움을 받을 수 없을 때, 스스로 환경을 구성해야 한다면 좋은 기준이 되는 도서이다.요약 - 의식적인 연습의 방법명확하고 구체적인 목표가 존재하는 것무엇을 목표로 할 것인가?정확도를 높일 것인가?속도를 높일 것인가?어디까지 할 것인가?즉각적인 피드백 루프가 존재하는 것어떤 것이 문제여서 실패했는가? 라고 끊임없이 되묻는 것코치리뷰테스트동기 부여를 위해, 보상 체계를 깨끗하게 유지할 것즉시 보상조건부 보상..

개인적 공간 2025.10.05