プログラマ)2つを抽出して追加

2835 ワード

質問する



初回アクセス

def solution(numbers):
    result = []
    
    # 두 수를 뽑아 더하기
    for i in range(len(numbers)):
        for j in range(i+1, len(numbers)):
            sum_num = numbers[i]+numbers[j]
            
            # 중복을 제외하고 result에 담기
            if sum_num not in result:
                result.append(sum_num)
    # 오름차순으로 정렬 후 리턴            
    return sorted(result)
2つのカードをリストから繰り返し抽出しないアルゴリズムと同様に,比較的簡単に問題を解決した.

✍ <list>.sort()とsorded(<list>)の違い


<list>.sort()

  • 元のリストをソートし、None
  • を返します.
    配列
  • ソースリスト(破壊関数)
  • 新しいソートリストは作成されないため、ソート()よりも
  • 速い

    sorted(<list>)

  • は、ソースリストに影響を与えることなく並べ替えられた新しい関数(非破壊関数)
  • を返す.
  • は、すべてのiterableオブジェクト(リスト、凡例、ディックバーコード、文字列)に使用できます.
    参考資料