株価


この授業では、Stackプログラマーの「株価」の問題を分析します.
問題の説明
秒単位で記録された株価の配列価格をパラメータとして指定すると、価格が下がらない時間帯に数秒戻るように解く関数が完了する.
せいげんじょうけん
価格はそれぞれ1以上10000以下の自然数です.
価格の長さは2以上100000以下です.

I/O例説明
1秒の1はずっと値下げしていません.
2秒の2ずっと値下げしていません.
3秒ポイントの3は1秒後に値下げされます.そのため、価格は1秒以内に下がっていない.
4秒時の2は1秒以内に値下げされませんでした.
5秒時の3は0秒以内に値下げされませんでした.
せきぶん
3秒ポイントの3は1秒後に値下げされます.そのため、価格は1秒以内に下がっていない.
<問題後期>
最初に思いついたのは2階建てのfor文で書いた答えだったので試してみましたが合格して驚きました...
2.他の人の解答を見て、StackとQueの部分の中の子供は曖昧だと思っている人が多く、初めてアルゴリズムを解くので、どうやってStackを加えるか分からない…!
3.Stackを勉強してから、効率の良いコードに変えるべきだと思います.
<解答>
def solution(prices):
    answer=[0]*len(prices)
    
    for i in range(len(prices)):
        
        for j in range(i+1, len(prices)):
            if prices[i] <= prices[j]:
                answer[i] += 1
            else:
                answer[i] += 1
                break
                
    return answer