[プログラマー]k番選手、走りきれなかった選手


1.k個


配列のi番からj番までを切り取って並べ替えると、k番目の数字を求めようとします.配列配列、[i、j、k]を要素とする2次元配列コマンドをパラメータとして与える場合は、commandsのすべての要素に前述の演算を適用した結果を配列に戻してsolution関数を作成します.
def solution(array, commands):
    answer = []
    for li in commands:
        i = li[0]
        j = li[1]
        k = li[2]
        a = sorted(array[i-1:j])
        answer.append(a[k-1]) 

    return answer
  • ソート関数はソート()sortとは異なります(sortは元の値を変更します!)
  • リストSleing ジャンプ
    インデックス0から始まるので[i-1:j]が必要です.
  • リストに要素append(x):リスト末尾にx関数
  • を追加

    2.完走できなかった選手


    しゅうごう

  • コレクションデータ型の作成
    集合(set)はPython 2.3からサポートされている資料型であり,集合に関わるものを容易に扱うために作成された資料型である.
  • 集合データ型の特徴
    -繰り返しは許可されません.
    -順序がありません.
    ->インデックスを使用してsetデータ型に格納されている値にアクセスする場合は、リストまたは凡例に変換して、次の操作を行います.
  • 本当に役に立つ
  • set資料型は、交差、合集、差集を求めるときです.& : 교집합 | : 합집합 - : 차집합
  • 繰り返し文(for in)

  • iterableとは、各メンバーを返すことができるオブジェクトを指します.
  • で前述したタイプでは、list、dictionary、set、string、tuple、bytesがiterableです.
    for item in iterable:
    ... 重複する構文...
  • rangeもiterable
  • も可能
  • rangeは、range(開始数字、終了数字、step)の形式であり、リストスライドに類似している.
  • rangeの結果は、開始値から終了値までの前の値のセットを作成します.
    range(5)
    for i in range(5):
    ... print(i)
    ...
    0
    1
    2
    3
    4
  • def solution(participant, completion):
        #동명이인 아닐때
        doc = list(set(participant)-set(completion))
    
        if len(doc) != 0:
            return doc[0]
        #동명이인 일때
        p = sorted(participant)
        c = sorted(completion)
    
        for i in range(len(p)):
            if p[i] != c[i]:
                return p[i]
        answer = ''
        return answer
    
    次は解ける人のコードです

    PythonのCollectionsモジュールに適用されるComputerクラスは、
  • データの数を統計するために使用されます.