info | lv1 | 투포인터, 슬라이딩 윈도우 |
---|
K모 기업의 지난 한 달간의 주가 그래프
‘캣네 생선’ 대표인 대리인 No.1 는 지난 1년간의 그래프 변동을 보고 Risk 관리를 위해 발생할 수 있는 최악의 손실액을 구하고 싶었습니다. 그래프 차트가 주어졌을 때 발생할 수 있는 최악의 손실액
을 구해봅니다.
위 그래프에서 최고가(61,100)에 사서 최저가(52,700)에 팔면 최대 손실이 발생할 것 같지만 최고가 입장에서 최저가는 이미 지난 시간이기 때문에 팔 수 없는 지난 가격이 됩니다.
입력값이 58000, 58700, 55300, 54200, 53600, 52700, 57700, 61100 순서대로 들어온다고 생각해 보겠습니다. 시간 순서에 따라 각 구간의 최대 손실을 계산해보겠습니다.
Day | 입력 (원) | 최고가 (Day) | 최저가 (Day) | 최대손실 | 설명 |
---|---|---|---|---|---|
1 | 58000 | 58000 (1) | 58000 (1) | 0 | 구매와 판매가가 모두 동일합니다. |
2 | 58700 | 58700 (2) | 58700 (2) | 0 | - Day1에 사서 Day2에 팔면 700원의 이득을 봅니다. |
최대손실 갱신
|
| 4 | 54200 | 58700 (2) | 54200 (4) | 4500 | Day2에 구매, Day4에 판매 → 4500 최대손실 갱신
|
| 5 | 53600 | 58700 (2) | 53600 (5) | 5100 | Day2에 구매, Day5에 판매 → 5100 최대손실 갱신
|
| 6 | 52700 | 58700 (2) | 52700 (6) | 6000 | Day2에 구매, Day6에 판매 → 6000 최대손실 갱신
|
| 7 | 57700 | 58700 (2) | 57700 (7) | 1000 | Day2에 구매, Day7에 판매 → 1000 |
| 8 | 61100 | 58700 (2) | 57700 (7) | 1000 | Day8에 최고가를 경신하지만, 더 이상 팔 기회가 없기 때문에 최고가를 갱신하지 않습니다. |따라서 이 그래프에서의 최대 손실액은 6000원이 됩니다. 이처럼 입력값에 따른 최대의 손실 금액을 구하는 코드를 작성해 봅시다.