
B - Permute to Minimize
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
X を(先頭に 0 を含まない形で)十進表記した際に現れる数字を、先頭に 0 が来ないように 並び替えることで得られる正整数のうち、値が最小のものを求める。
小さい順でソートして先頭が0の場合に、配列の前から見て0以外の値と先頭の0を入れ替えました。
以下でACできました。
def i_map(): return map(int, input().split())
def i_list(): return list(map(int, input().split()))
x = list(map(int, list(input())))
sorted_x = sorted(x)
if sorted_x[0] == 0:
for i in range(len(sorted_x)):
if sorted_x[i] != 0:
sorted_x[0], sorted_x[i] = sorted_x[i], sorted_x[0]
break
ans = ''
for i in range(len(sorted_x)):
ans+=str(sorted_x[i])
print(ans)Code language: Python (python)
おまけ
最近はほかの言語でも同じように書けるようですが、Pythonでは値の入れ替えを以下のように書けるのが楽
a, b = b, a



コメント