【ABC152 B】「Comparing Strings」を解く【Python3】

abc152b

コンテスト一覧へ

 

整数aをb回繰り返してできる文字列と 整数bをa回繰り返してできる文字列のうち、辞書順で小さい方を答える問題です。

入力は a,b の2個。

提出
a, b = map(int, input().split())

for i in range(max(a,b)):
    print(min(a,b), end="")

a,b を整数で受け取り、大小を判定して処理します。

「辞書順で小さい方の文字列」とありますが、同じ数字が並ぶだけなので、先頭の数字が小さい方が答えになります。

(「333333」と「444」では、「333333」の方が小さい)

for文を使って、大きい数字の回数分だけ、小さい数字を出力します。

endオプション

print()関数の標準動作では、出力をした後に自動的に改行します。

これにendオプションをつけることで、出力した後の文字列を指定することができます。

endオプションに何も指定しない場合は、改行しない処理を行います。

print("abc",end="")

文字列として処理したい場合は、以下の方法でもできます。

コード
a, b = map(int, input().split())

ans = ''
for i in range(max(a,b)):
    ans += str(min(a,b))
print(ans)

最初に文字列の変数「ans」を作っておいて、そこに小さい方の数字を文字列にして足していく方法です。

小さい方の数字が整数のままだとうまくいかないので注意が必要です。

【ABC152】解説記事リスト

コンテスト一覧に戻る

コメントを残す

メールアドレスが公開されることはありません。