본문 바로가기

dp6

[코드트리] 10 - DP, 비트마스킹 문제 - 상하좌우 반전시키기 (lights off)https://www.codetree.ai/ko/trails/complete/curated-cards/challenge-filp-up-down-left-right-2/description 상하좌우 반전시키기 2 설명 | 코드트리상하좌우 반전시키기 2에서 요구하는 복합 로직과 알고리즘 구성을 분석해, 고급 코딩테스트 합격에 한 걸음 다가가세요.www.codetree.aipublic class Main { static StreamTokenizer sst = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); static int read() throws IOExcept.. 2026. 7. 2.
[코드트리] 9 - DP, 구간합 DP 문제 - 파일 합치기https://www.codetree.ai/ko/trails/complete/curated-cards/intro-Combine-2-3/description 2개씩 합치기 3 설명 | 코드트리2개씩 합치기 3에서 요구하는 복합 로직과 알고리즘 구성을 분석해, 고급 코딩테스트 합격에 한 걸음 다가가세요.www.codetree.aipublic class Main { static StreamTokenizer sst = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); static int read() throws IOException{ sst.nextToken(); retur.. 2026. 7. 1.
[코드트리] 8 - DP, Bitonic Cycle 바이토닉 사이클반드시 한번씩 방문해야하는 상태일때만 [i][j] 가능-> 간선 스킵은 cost가 0이 되는거라 pos 안써도 i-> 한번 스킵하면 영원히 다시 보지 않는다면 스킵 옵션 있을때도 가능정점 자체를 고르지 않고 지나가는 상태면 마지막 방문 위치를 스킵하게 돼서 pos가 필요함-> 현재 DP 상태가 완전히 확정된 상태가 아닌 경우-> TSP가 이런 상태라고 이해하면 된다. 다시말해 바이토닉 사이클은 일종의 TSP의 특수한 경우인 것 같다?? dp [i][j] [option] = max(i,j) 까지 dp 값을 확정했을 때 option 은 추가 조건 제약을 보고 추가하기(주로 skip 수)초기값은 dp[0][1] = 0~1 사이 가중치 계산 or 적절한 초기값 i, j 는 항상 i 가능한 상태는 .. 2026. 6. 29.
[코드트리] 3 - DP, LIS, 부분 합 DP 복습, 북마크 활용 북마크로 복습 문제집 만들기 코드트리에는 문제마다 공유하기 버튼 왼쪽에 문제를 마킹할 수 있는 북마크 기능이 존재한다. 이를 이용하면 알고리즘 분류별로 개념이 흔들렸거나 나중에 다시 풀어볼만한 문제들을 문제집처럼 만들어서 관리할 수 있다.이번주는 DP니까 DP 폴더를 생성해서 정리해 주었다. 맨 왼쪽 섹션을 열어보면 북마크가 있고 거기서 추가된 문제를 폴더별로 확인할 수 있다. 원래는 회고를 적을 때 문제 옆에 임의로 아이디어가 좋았거나 읽어볼만한 (다시 보기) 와어려워서 뭔가 다음에 다시 풀 수 없을 거 같아 여러 번 읽어야할 문제는 (다시 풀기) 등으로 나타냈었는데 코드트리 문제에 한해서는 북마크 기능을 활용해서 시간순으로 목록이 정렬되니 일주일 뒤나 2주 뒤에 풀면 좋을 것 같다. 따로 메모할 수는.. 2026. 5. 27.
[코드트리] 2 - 트리 공부 및 1일 1문제 습관 형성하기 2주차 전체 후기 이번 주차의 학습 계획의 목표를 완료했고 총 5일 걸렸다. 이번 주차의 경우 트리 순회 + 복원이나 트리의 성질 + 사이클 정도는 원래 알고 있었지만 Rerooting Technique나 내부 연산의 O(1) 최적화 처리에 대한 부분을 매끄럽게 하지 못했었는데 그걸 다듬는 연습이 되었다. 문제 풀고, 복기하고 정리하고 다 하는데도 일반적으로 하위 챕터당 1.5~2일 정도 나오는 거 같다. 전체적인 문제 방향성이 좋은 게 유클리드 원론 읽듯이 a 개념 + b 개념을 학습시켜서 그걸 바탕으로 하면 이런게 나오고 그걸 약간 꼬아서 한번 더 풀게 하지만 그 전 내용이 자동으로 복습되는 구조를 가지고 있다. 완벽히 이해하고 학습자 본인이 해당 내용에 대해 계속 생각한다면 정확히 그 방향으로 .. 2026. 5. 20.
플머12983 - DP, 문자열, 다시보기 import java.util.*;class Solution { // t길이 + 1 final int INF = 20001; HashSet m = new HashSet(); public int solution(String[] strs, String t) { int answer = 0; int maxL = 0; int N = t.length(); for(String s : strs){ maxL = Math.max(maxL, s.length()); m.add(s); } int[] dp = new int[N+1]; Arrays... 2026. 4. 19.