상위 150개 인터뷰중간

쿨타임이 있는 주식을 사고 팔기에 가장 좋은 시기

'휴지 기간이 있는 주식을 사고 파는 최적의 시간' 문제에 대한 자세한 가이드 및 Python 구현입니다.

문제 설명

중간

가격[i]이 i번째 날의 특정 주식 가격인 배열 가격이 제공됩니다.

달성할 수 있는 최대 이익을 찾아보세요. 다음 제한 사항에 따라 원하는 만큼 많은 거래를 완료할 수 있습니다(즉, 주식의 한 주를 여러 번 사고 파는 것).

- 주식을 매도한 후에는 다음 날(즉, 하루 쿨타임)에는 주식을 구매할 수 없습니다.

참고: 동시에 여러 거래에 참여할 수 없습니다(즉, 주식을 다시 구매하기 전에 반드시 매도해야 합니다).

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

제약
  • 1 <= len(prices) <= 5000
  • 0 <= prices[i] <= 1000

Example 1
Input
prices = [1,2,3,0,2]
Output
3
Explanation

Transactions = [buy, sell, cooldown, buy, sell].

Example 2
Input
prices = [1]
Output
0
Explanation

No transaction can be made.

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 리소스

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