[プログラマー]Kビット数(python 3)
ツールバーの
配列のi番からj番までを切り取って並べ替えると、k番目の数字を求めようとします.
例えばarrayが[1,5,2,6,3,7,4],i=2,j=5,k=3の場合
arrayの2番目から5番目の場合は[5,2,6,3].
1の配列を並べ替えると[2,3,5,6].
2からの配列の3番目の数字は5です.
配列配列、[i、j、k]を要素とする2次元配列コマンドをパラメータとして与える場合は、commandsのすべての要素に前述の演算を適用した結果を配列に戻してsolution関数を作成します.
arrayの長さは100を超えない. arrayの各要素は1または100未満です. コマンドの長さは50を超えません. コマンドの各要素の長さは3です.
リストの要素を指定関数として扱う関数 ソースリストを変更せずに新しいリストを作成
上のコードでは、map関数はarrayですべてのコマンドで要素を選択してソートするために使用されます.不思議で不思議だ.そのような簡単な文字で文の代わりにすることもできます.
これは私のプログラムの设计の第1道の问题で、実は问题を解く时感じが探し出せないで、だからグーグルのカンニングを游んで、ほほほ、后でも问题を解くことを坚持します😄
💡 質問する
問題の説明
配列のi番からj番までを切り取って並べ替えると、k番目の数字を求めようとします.
例えばarrayが[1,5,2,6,3,7,4],i=2,j=5,k=3の場合
arrayの2番目から5番目の場合は[5,2,6,3].
1の配列を並べ替えると[2,3,5,6].
2からの配列の3番目の数字は5です.
配列配列、[i、j、k]を要素とする2次元配列コマンドをパラメータとして与える場合は、commandsのすべての要素に前述の演算を適用した結果を配列に戻してsolution関数を作成します.
せいげんじょうけん
💡 私の答え
def solution(array, commands):
answer = []
for i in range(len(commands)) :
answer.append(sorted(array[commands[i][0]-1:commands[i][1]])[commands[i][2]-1])
return answer
🔗 他人の解答
def solution(array, commands):
return list(map(lambda x:sorted(array[x[0]-1:x[1]])[x[2]-1], commands))
mapはどこの関数ですか?map
map(function, iterable)
上のコードでは、map関数はarrayですべてのコマンドで要素を選択してソートするために使用されます.不思議で不思議だ.そのような簡単な文字で文の代わりにすることもできます.
def solution(array, commands):
answer = []
for command in commands:
i,j,k = command
answer.append(list(sorted(array[i-1:j]))[k-1])
return answer
一度にi,j,kをcommandに指定するのは不思議(?)だから持ってきました.これは私のプログラムの设计の第1道の问题で、実は问题を解く时感じが探し出せないで、だからグーグルのカンニングを游んで、ほほほ、后でも问题を解くことを坚持します😄
Reference
この問題について([プログラマー]Kビット数(python 3)), 我々は、より多くの情報をここで見つけました https://velog.io/@eony5813/Programmers-코딩테스트-연습-k번째-수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol