PythonプログラミングノックDay250 初心者向けソート・探索 #プログラミング #python #初心者

入門

初心者向けのPythonのプログラミング問題です。入門編としてチャレンジしてください。Pythonの正答例は以下になります。

問題745
def max_less_than(lst, value):
smaller = [x for x in lst if x < value]
return max(smaller) if smaller else None

# 呼び出し例
lst = [2, 5, 9, 12]
print(max_less_than(lst, 10)) # 出力: 9

問題746
def min_gap_pair(lst):
lst_sorted = sorted(lst)
diffs = [(lst_sorted[i], lst_sorted[i+1]) for i in range(len(lst_sorted)-1)]
return min(diffs, key=lambda x: x[1]-x[0])

# 呼び出し例
lst = [8, 1, 5, 9, 12]
print(min_gap_pair(lst)) # 出力: (8, 9)

問題747
from collections import Counter

def sort_by_char_frequency(s):
count = Counter(s)
return ”.join(sorted(s, key=lambda x: (-count[x], x)))

# 呼び出し例
s = “programming”
print(sort_by_char_frequency(s)) # 出力例: “ggmmorapinr”

コメント

タイトルとURLをコピーしました