K次大数
4263 ワード
コード実装能力の育成
に質問
K次大数
賢洙は1〜100の自然数が書かれたカードをN枚持っている.同じ数字のカード.
たくさんあります.賢洙はその中からカード1枚あたりの数字の和を3枚抜き出した.
はい.3枚まで引き抜くことができることをすべて記録します.出力レコード値のうち最大のK個
プログラムを作成してください.
大数から生み出された数が25,25,25,23,22,19であれば・・・K値が3の場合、K番目の大きい値は22です.
■説明の入力
1行目には自然数N(3<=N<=100)とK(1<=K<=50)が入力され、2行目にはN個のカード値が入力される.
■出力説明
1行目にK個の数字を出力します.K番目の数は存在しなければならない.
■入力例1
10 3
13 15 34 23 45 65 33 11 26 42
■出力例1
143
コード#コード#💻インフラストラクチャ:Pythonアルゴリズム回答
に質問
K次大数
賢洙は1〜100の自然数が書かれたカードをN枚持っている.同じ数字のカード.
たくさんあります.賢洙はその中からカード1枚あたりの数字の和を3枚抜き出した.
はい.3枚まで引き抜くことができることをすべて記録します.出力レコード値のうち最大のK個
プログラムを作成してください.
大数から生み出された数が25,25,25,23,22,19であれば・・・K値が3の場合、K番目の大きい値は22です.
■説明の入力
1行目には自然数N(3<=N<=100)とK(1<=K<=50)が入力され、2行目にはN個のカード値が入力される.
■出力説明
1行目にK個の数字を出力します.K番目の数は存在しなければならない.
■入力例1
10 3
13 15 34 23 45 65 33 11 26 42
■出力例1
143
コード#コード#💻
import sys
#sys.stdin=open("input.txt", "rt") # read text
n, k = map(int, input().split())
a = list(map(int, input().split()))
# 중복을 제거하는 자료구조 : set
res = set()
for i in range(n):
for j in range(i+1, n):
for m in range(j+1, n):
res.add(a[i]+a[j]+a[m]) # set은 add를 사용해 값 추가
# set에는 sort 기능이 없다. 리스트로 다시 바꿔야 함
res = list(res)
res.sort(reverse=True) # 내림차순 정렬
print(res[k-1])
リファレンスReference
この問題について(K次大数), 我々は、より多くの情報をここで見つけました https://velog.io/@jsj3282/K번째-큰-수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol