Level 2. 株価
10390 ワード
株価
エンコーディングテスト練習>スタック/キュー>株価
https://programmers.co.kr/learn/courses/30/lessons/42584
問題の構想
入力
Popleft()は
問題を解く
最初の解答:deque()
from collections import deque
prices = [1,2,3,2,3]
result = [] # Set initial vlaue
price = deque(prices) # Transform list to deque
while price:
cnt = 0 # Set local value
p1 = price.popleft() # pop first element
for p in price:
if p1 > p:
cnt = 1 # Count 1
break
cnt += 1
result.append(cnt)
2番目の解答:二重for文
prices = [1,2,3,2,3]
result = [0] * len(prices) # Set initial value
for i in range(len(prices)-1):
for j in range(i,len(prices)-1):
if prices[i] > prices[j]:
break
else:
result[i] += 1
完全なコード
Deque()
from collections import deque
def solution(prices):
result = []
price = deque(prices)
while price:
cnt = 0
p1 = price.popleft()
for p in price:
if p1>p:
cnt += 1
break
cnt+=1
result.append(cnt)
return result
prices = [1,2,3,2,3]
solution(prices)
にじゅうゲート
def solution(prices):
result = [0] * len(prices) # Make initial array
for i in range(len(prices)-1):
for j in range(i, len(prices)-1):
if prices[i] >prices[j]:
break
else:
result[i] +=1
return result
prices = [1,2,3,2,3]
solution(prices)
Reference
この問題について(Level 2. 株価), 我々は、より多くの情報をここで見つけました https://velog.io/@pear_min/Level-2.-주식가격テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol