코드를 쓰기 전에, 먼저 계산하던 것들
오래된 C 스타일의 백준 코드를 다시 열어 보며 찾은 습관. 입력 크기, 메모리, 반복 횟수, 그리고 남겨야 할 상태를 먼저 생각하던 과정.
만들면서 배운 것, AI와 함께 일하는 방식, 시스템을 이해한 과정을 남깁니다.
오래된 C 스타일의 백준 코드를 다시 열어 보며 찾은 습관. 입력 크기, 메모리, 반복 횟수, 그리고 남겨야 할 상태를 먼저 생각하던 과정.
연속으로 세 잔을 마실 수 없다는 조건을 상태로 나누어 풀어 본 다이나믹 프로그래밍 기록.
행렬을 어디에서 둘로 나눌지에 따라 달라지는 연산 횟수를 구간 DP로 계산한 풀이.
한 행을 왼쪽·오른쪽 두 번 훑어 이전 행의 최댓값을 이어 붙인 DP 풀이.
선행 건물 중 가장 늦게 끝나는 시간을 메모이제이션으로 구한 의존성 DP 풀이.
목적지에서 더 높은 이웃으로 거꾸로 올라가며 경로 수를 메모이제이션한 DFS 풀이.
숫자 하나를 더 넣는 경우와 합을 하나 줄이는 경우로 점화식을 만든 조합 DP 풀이.
필요한 메모리를 확보하는 최소 비용을 메모리 기준 DP로 계산한 배낭 문제 풀이.
무게를 역순으로 순회해 같은 물건을 두 번 고르지 않도록 한 0/1 배낭 DP.
피보나치 구간합을 두 항의 차로 바꾸고 행렬 거듭제곱으로 계산한 풀이.
행·열·3×3 구역의 사용 여부를 기록하며 빈칸을 하나씩 채운 백트래킹 풀이.
퀸을 한 행씩 놓고, 다음 행에서 공격받는 칸을 표시·복구한 백트래킹 풀이.
다이아몬드 크기를 작은 것부터 확장하며 네 변이 모두 1인지 확인한 플래티넘 DP 풀이.
아주 큰 n번째 피보나치 수를 2×2 행렬의 빠른 거듭제곱으로 구한 풀이.
모듈러가 달라진 피보나치 수를 행렬의 빠른 거듭제곱으로 계산한 풀이.
많은 수를 한꺼번에 소인수분해하기 위해 소수 판정을 먼저 전처리한 풀이.
궁수 위치 조합을 모두 만들고, 매 조합을 독립적으로 시뮬레이션한 풀이.
소수 여부를 먼저 전처리하고, 네 소수의 합을 두 소수의 합으로 나누어 찾은 풀이.
큰 구간 전체를 만들지 않고, 구간 안에서 제곱수의 배수만 지워 세는 방식.
체로 소수를 만든 뒤, 연속한 소수 합이 목표값이 되는 구간을 찾은 풀이.
가능한 공비를 늘려 가며 등비수열 합이 전체 합의 약수가 되는지 확인한 풀이.
세 장의 카드 조합을 전부 확인하며 블랙잭 문제를 처음 풀어 본 기록.
글 목록을 불러오지 못했습니다. 다시 시도해 주세요.