PROGRAMMERSレベル1 k番号
5096 ワード
🔗 ソース
プログラマレベル1:k
📄 質問する
📝 マイコード(修正前)
def solution(array, commands):
answer = []
for c in commands:
answer.append(sorted(array[c[0]-1:c[1]])[c[2]-1])
return answer
悩む
もっと可読性を高める方法はありませんか?
問題で与えられた「i,j,k」を変数名として使いたい.
あるいは、コンパクトに編むなら、いっそ一本の糸に縮めたい.
🛠 解決策
💡 マイコード(1)
def solution(array, commands):
answer = []
for i, j, k in commands:
answer.append(sorted(array[i-1:j])[k-1])
return answer
💡 マイコード(2)
def solution(array, commands):
return list(map(lambda x: sorted(array[x[0]-1:x[1]])[x[2]-1], commands))
悟る
どのコードがより良いコードなのか判断できません.(
個人的には1番コードの方が読みやすいと思います.
より良いコード基準を知る方法を考えます.
for文の要素を区切ることを忘れない:)
式を簡潔に書きたい場合は、lambda:)を使用することを考慮してください.
Reference
この問題について(PROGRAMMERSレベル1 k番号), 我々は、より多くの情報をここで見つけました https://velog.io/@pup-paw/PROGRAMMERS-level1-k번째-수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol