キーワード
問題
各桁が
1 以上
9 以下の整数である
3 桁の整数
N が与えられます。
N の
100 の位を
a、
10 の位を
b、
1 の位を
c としたとき、
b,c,a をこの順に並べた整数と
c,a,b をこの順に並べた整数をそれぞれ出力してください。
制約
N は各桁が
1 以上
9 以下の整数である
3 桁の整数
入力
入力は以下の形式で標準入力から与えられる。
N
出力
b,c,a をこの順に並べた整数と
c,a,b をこの順に並べた整数をこの順で空白区切りで出力せよ。
入力例 1
Copy
379
出力例 1
Copy
793 937
379 の
100 の位は
3、
10 の位は
7、
1 の位は
9 です。よって、
793 と
937 をそれぞれ出力します。
入力例 2
Copy
919
出力例 2
Copy
199 991
919 の
100 の位は
9、
10 の位は
1、
1 の位は
9 です。よって、
199 と
991 をそれぞれ出力します。
回答
N = int(input())
l = [int(x) for x in list(str(N))]
a, b, c = l[0], l[1], l[2]
A = 100*b + 10*c + a
B = 100*c + 10*a + b
print(A, B)
参考
備考
- 桁ごとに分割するやつ、結構頻出。
- 3桁というのがわかっている以上、/100とか/10でも分割できることにあとで気づいた。
- 他の人の回答を見る限り、アルゴリズム自体は変わらない。文字列として受け取って、何文字目をそれぞれintにして結合している人もいた。
- printにまとめれば極限までコードを短くできる。ただどっちがいいのかは知らない。多分適材適所の話