Skip to content

Conversation

@Ukj0ng
Copy link
Contributor

@Ukj0ng Ukj0ng commented Dec 24, 2025

🧷 문제 링크

https://www.acmicpc.net/problem/2655

🧭 풀이 시간

100분

👀 체감 난이도

✏️ 문제 설명

벽돌마다 밑면, 무게, 높이가 주어지는데, 벽돌을 쌓을 때 제일 높게 쌓는 경우의 벽돌 사용 개수와 각 인덱스를 순서대로 출력하라.

  • 벽돌은 밑면이 넓은 것에서 좁은 것 순으로 쌓여야 한다.
  • 벽돌은 무게가 무거운 것에서 가벼운 것 순으로 쌓여야 한다.

🔍 풀이 방법

일단 밑면의 넓이를 기준으로 내림차순으로 정렬했다.
그렇게 순차적으로 탐색해야 밑면은 무시할 수 있기 때문이다.
dp[i] = i번째 벽돌을 가장 위에 쌓았을 때의 최대 높이 로 상태정의하고
i번째보다 작은 벽돌들을 순차적으로 탐색하면서 무게 조건을 확인해 dp[i]보다 큰 것이 있으면 그것으로 갱신한다.

⏳ 회고

LIS 어려워~. 비슷한 문제를 계속 풀어봐야겠어.

@ShinHeeEul ShinHeeEul merged commit f1aab44 into main Dec 24, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants