



(전체를 한방에 보는게 아니라, 그단계에서 ..계속 밑으로 내려가니깐
만약에 모두 고르시오엿고 p[1][15]도 있엇으면 어떻게 알지

코드상에서 weight는 int 타입으로 선언되어 있습니다. 자바에서 int는 기본 자료형이므로 객체가 아니며, 따라서 .compareTo()와 같은 메서드를 가질 수 없습니다. compareTo는 Integer와 같은 래퍼 클래스나 Comparable 인터페이스를 구현한 객체에서만 사용할 수 있습니다.








플로이드

피보나치
fib(n - 1) + fib(n - 2) ...재귀에서는 매개변수 n이지만
f[i] = f[i - 1] + f[i - 2] ....반복문에서 i임
평균이니깐, 시그마 한뒤에 n으로 나눠야지


(경곗값 헷갈릴때는 예시 넣어보면)



플로이드, 테이블 하나에 적어야지 안헷갈리겟다
나중에 비교는 따로 하더라도
실제 부분 배열(array)**이나 그 구간을 알고 싶다면, **maxIndex (끝점)**를 반드시 저장해야 합니다.
그리고 질문하신 대로 A가 아니라 B를 비교하는 것이 맞습니다. B[i]가 "i에서 끝나는 부분 배열의 최대 합
1. "a, b가 의미하는게 뭐지?"
- A (입력 행렬): 각 칸을 통과할 때 얻는 '점수' 혹은 '길이'입니다. 문제에서 주어진 지도라고 보시면 됩니다.
- b (DP 테이블): b[i][j]는 시작점(0,0)에서 현재 칸(i,j)까지 올 수 있는 모든 경로 중 가장 긴(최대 합) 경로의 길이를 저장한 점수판입니다.
b[i][j] = A[i][j] + Math.max(b[i - 1][j], b[i][j - 1]);
<초기화부분이던가, 합 구하는 부분이던가
더하는 부분에서 i,j원래 인덱스는 a에서 가져오네
Math.min 사용: 문제에서 **"가장 긴 경로"**를 구하라고 했으므로 Math.max를 써야 합니다.




'26년1학기 > 알고리즘' 카테고리의 다른 글
| 알고리즘) 프림 크루스칼 (1) | 2026.05.11 |
|---|---|
| 알고리즘) 시간복잡도들 (0) | 2026.05.08 |
| 알고리즘) dp2 (0) | 2026.05.06 |
| 알고리즘) 행렬 곱셈 &다양한 dp문제풀이들(부수적..) (0) | 2026.05.04 |
| 알고리즘) 행렬 곱셈 &다양한 dp문제풀이들 (2) | 2026.05.04 |