コーディングテスト練習-機能開発
コーディングテスト練習-機能開発
機能改善作業を行っています.導入ごとにどのくらいの機能があるかを、作業の進捗と速度で把握します.
事前に仕事ごとに数日かかる時間を時間に貯めておく.標準時間と残り時間を比較すると、前のタスクよりも少ないタスクが前のタスクとともに割り当てられます.差分値に基づいてカウントし、配置された機能数に基づいてインデックスを移動します.私は理論的に理解したが、コードがはっきりせず、ずっと間違っていた.
精度0.0:タイムアウトと失敗.(間違いだらけ)
何日かやっていましたが、ダメだったのでヒントを探しましたが、私が考えていた方法と同じでした.異なる点は,一部の配列を切り取り,再複文を回転させるのではなく,ゼロから順に回転させることである.考えが複雑すぎて、繰り返しの文がうまくできないようです.
2つのflagを作成し、1つは順番に回転し、もう1つは差で移動し、1回転するだけで問題を解決します.
queueコンセプトを用いて,先頭のタスクからpop()を開始する.time変数を使用すると、前の作業に必要な時間を等しく演算し、countを増加させることができます.
機能改善作業を行っています.導入ごとにどのくらいの機能があるかを、作業の進捗と速度で把握します.
#エラーコード
事前に仕事ごとに数日かかる時間を時間に貯めておく.標準時間と残り時間を比較すると、前のタスクよりも少ないタスクが前のタスクとともに割り当てられます.差分値に基づいてカウントし、配置された機能数に基づいてインデックスを移動します.私は理論的に理解したが、コードがはっきりせず、ずっと間違っていた.
精度0.0:タイムアウトと失敗.(間違いだらけ)
import math
def solution(progresses, speeds):
for i in range(len(progresses)):
days = 0
days = math.ceil((100-progresses[i]) / speeds[i])
times.append(days)
print(times)
while True:
if idx+2 >= len(times):
functions = len(times) - idx
idx += functions
functions = 1
break
for i in times[idx+1:]:
if times[idx] <= i:
functions = times.index(i,idx+1) - idx
idx += functions
functions = 1
break
functions += 1
return distribution
#正解コード
何日かやっていましたが、ダメだったのでヒントを探しましたが、私が考えていた方法と同じでした.異なる点は,一部の配列を切り取り,再複文を回転させるのではなく,ゼロから順に回転させることである.考えが複雑すぎて、繰り返しの文がうまくできないようです.
2つのflagを作成し、1つは順番に回転し、もう1つは差で移動し、1回転するだけで問題を解決します.
import math
def solution(progresses, speeds):
times = []
answer = []
front = 0
for i in range(len(progresses)):
days = 0
days = math.ceil((100-progresses[i]) / speeds[i])
times.append(days)
print(times)
for idx in range(len(times)):
if times[idx] > times[front]:
answer.append(idx - front)
front = idx
answer.append(len(times) - front)
return answer
#参照コード
queueコンセプトを用いて,先頭のタスクからpop()を開始する.time変数を使用すると、前の作業に必要な時間を等しく演算し、countを増加させることができます.
def solution(progresses, speeds):
answer = []
time = 0
count = 0
while len(progresses)> 0:
if (progresses[0] + time*speeds[0]) >= 100:
progresses.pop(0)
speeds.pop(0)
count += 1
else:
if count > 0:
answer.append(count)
count = 0
time += 1
answer.append(count)
return answer
Reference
この問題について(コーディングテスト練習-機能開発), 我々は、より多くの情報をここで見つけました https://velog.io/@ghenmaru/코딩테스트-연습-기능개발テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol