발행일

99클럽 코테 스터디 30일차 TIL + 오늘의 학습 키워드: 동적계획법

99클럽 코테 스터디 30일차 TIL + 오늘의 학습 키워드: 동적계획법

이 글은 네이버 블로그에 2025년 3월 7일에 올렸던 것을 그대로 옮겨온 것입니다.

function maxBoxes(n, sizes) {
    // dp 배열 초기화: 각 상자를 포함할 때의 최대 상자 개수
    const dp = new Array(n).fill(1);

    // 모든 상자에 대해 반복
    for (let i = 1; i < n; i++) {
        for (let j = 0; j < i; j++) {
            // 앞의 상자 크기가 현재 상자 크기보다 작으면 dp 갱신
            if (sizes[j] < sizes[i]) {
                dp[i] = Math.max(dp[i], dp[j] + 1);
            }
        }
    }

    // dp 배열에서 최대값 반환
    return Math.max(...dp);
}

// 예제 입력
const n = 8;
const sizes = [1, 6, 2, 5, 7, 3, 5, 6];

// 결과 출력
console.log(maxBoxes(n, sizes)); // 출력: 5
  • 오늘의 회고 - 어떤 문제가 있었고, 나는 어떤 시도를 했는지

  • 어떻게 해결했는지

  • 무엇을 새롭게 알았는지

  • 내일 학습할 것은 무엇인지

• 비기너: https://www.acmicpc.net/problem/1524 (30분)

• 미들러: https://www.acmicpc.net/problem/1965 (1시간 15분)

• 챌린저: https://school.programmers.co.kr/learn/courses/30/lessons/150369 (1시간 30분)

필수 해시태그: #99클럽 #코딩테스트준비 #개발자취업 #항해99 #TIL

image