AtCoder Beginner Contest

【pythonでABC152を解説】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()

-AtCoder Beginner Contest
-