상위 150개 인터뷰중간

버스트 풍선

'Burst Balloons' 문제에 대한 자세한 가이드 및 Python 구현입니다.

문제 설명

중간

0부터 n - 1까지 인덱스가 지정된 n개의 풍선이 있습니다. 각 풍선에는 배열 nums로 표시되는 숫자가 그려져 있습니다. 풍선을 모두 터뜨려야 합니다.

i번째 풍선을 터뜨리면 nums[i - 1] * nums[i] * nums[i + 1]개의 동전을 얻게 됩니다. i - 1 또는 i + 1이 배열의 범위를 벗어나면 1이 그려진 풍선이 있는 것처럼 처리합니다.

풍선을 현명하게 터뜨려 모을 수 있는 최대 동전을 돌려주세요.

maxCoins(nums: List[int]) -> int 함수를 작성하세요.

제약
  • n == len(nums)
  • 1 <= n <= 300
  • 0 <= nums[i] <= 100

Example 1
Input
nums = [3,1,5,8]
Output
167
Explanation

burst 1 -> burst 5 -> burst 3 -> burst 8. Coins: 3*1*5 + 3*5*8 + 1*3*8 + 1*8*1 = 167.

Example 2
Input
nums = [1,5]
Output
10
Explanation

burst 1 first: 1*5*1 = 5, then burst 5: 1*5*1 = 5. Total = 10.

Need a Hint?
세트나 힙과 같은 2D DP 관련 데이터 구조를 사용해 보세요.
Edge Cases to Watch
  • 빈 입력 구조
  • 단일 요소 입력
  • 큰 수치 범위

해결할 준비가 되셨나요?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

편집기에서 열기
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

권장 Python 리소스

관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.