ABC345 python Atcoderの記録

問題はこちら
3完

A

S = input()
T = "<" + "="*(len(S)-2) + ">"
if S == T:
    print("Yes")
else :
    print("No")


B
切上除算を行う問題。知らなかったのでメモ。
a÷b の小数点以下を切り上げた整数を求めることを 切り上げ除算という
答えの求め方は(a+b-1)//b
float型を経由すると誤差により間違う可能性がある

X = int(input())
print((X + 9) // 10)


C
異なる文字を入れ替えるときは必ず違う文字列になる。
よって同じ文字を入れ替えることが何回発生するかをカウントする。

S = input()
def count_lowercase_letters(text):
    # 辞書を初期化して英小文字の出現回数を記録する
    letter_counts = {char: 0 for char in 'abcdefghijklmnopqrstuvwxyz'}

    # 文字列内の各文字を処理し、英小文字の出現回数をカウントする
    for char in text:
        if char.islower():
            letter_counts[char] += 1

    return letter_counts
# 英小文字の出現回数を数える
lowercase_counts = count_lowercase_letters(S)
# print(lowercase_counts)

#
temp = -1
for value in lowercase_counts.values():
    # print(value)
    if value >= 2:
        temp += value*(value-1)*0.5
print(int(len(S)*(len(S)-1)*0.5 - max(temp,0) ))


D





E





F