問題概要
問題ページ
-
B - Comparing Strings
問題ページへ移動する
問題文
\(1\) 桁の正整数 \(a\) ,\(b\) が与えられます。整数 \(a\) を \(b\) 回繰り返してできる文字列と
整数 \(b\) を \(a\) 回繰り返してできる文字列のうち、辞書順で小さい方を答えてください。
制約
- \(1 ≤ a ≤ 9\)
- \(1 ≤ b ≤ 9\)
- \(a,b\) は整数
問題の考察
とりあえず実際に\(a\)を\(b\) 回繰り返した文字列と \(b\)を\(a\)を作成してみる。
私はそれぞれを配列に突っ込んでからソートした配列の先頭要素を出力した。
たびすけ
pythonならif文を使って文字列を演算子\(\lt\)や\(\gt\)で比較すれば辞書順でどちらが先か調べることもできるよ!
ACコード
import sys
def solve():
input = sys.stdin.readline
mod = 10 ** 9 + 7
a, b = list(map(int, input().rstrip('\n').split()))
ls = []
ls.append(str(b) * a)
ls.append(str(a) * b)
ls.sort()
print(ls[0])
if __name__ == '__main__':
solve()