codekata 몰아서 하는거 반성해야되는데 왜 재밌슴?
prices는 배열이며, 각 요소는 매일의 주식 가격입니다.
만약 한 번만 거래할 수 있다면 = 사고 팔 수 있다면, 제일 큰 이익은 얼마일까요?
예를 들어,
Input: [7,1,5,3,6,4]
Output: 5
설명: 2일(가격=1)에 샀다가 5일(가격=6)에 사는 것이 6-1이라 제일 큰 수익
7-1=6 은 안 되는거 아시죠? 먼저 사야 팔 수 있습니다.
Input: [7,6,4,3,1]
Output: 0
설명: 여기서는 매일 가격이 낮아지기 때문에 거래가 없습니다. 그래서 0
주식문제다. 이해가 빨랐다. 쌀 때 사서 비싸게 팔면된다.
최소값에서 사서 그 이후에 최대값에 팔면 된다.
근데 wecode relpit에 답이 나와있다 뭐냐 심지어 제출까지 되어있다.(나푼적없는데..)
def maxProfit(prices):
minimum = prices.index(min(prices))
maximum = prices.index(max(prices[minimum:]))
if minimum == maximum:
return 0
else:
return prices[maximum] - prices[minimum]
/home/runner/Week-4-Day-2-CodeKataPythonW/tests.py:9: DeprecationWarning: Please use assertEqual instead.
self.assertEquals(maxProfit([7,6,4,3,1]), 0)
.....
----------------------------------------------------------------------
Ran 5 tests in 0.005s
OK
머쓱하다.
결론: 주식은 함부로 하는게 아니다.