実際の問題はこちらからご覧ください。
【AtCoder Beginner Contest 236】A – Chukodai
この問題のポイント
文字列はイミュータブル(変更不可能)なデータ型であり、Pythonでは文字列内の個別の文字を直接変更することはできない。
この制約を回避するために、文字列を扱うリストを用います。リストに変換することで、文字列内の特定の文字へのアクセスや、文字の入れ替えといった操作が可能になる。
操作が完了した後は、join()
メソッドを使用してリストの要素を結合し、新しい文字列を作成する。このアプローチにより、文字列のイミュータブル性に対応しつつ、文字列の内容を動的に変更することが可能になる。
実装方法
1.文字列Sを最初にリストに変換して格納。
2.入力されたaとbの値を使用して、リスト内の対応する2つの文字の位置を入れ替え。Pythonではリストのインデックスが0から始まるため、a-1とb-1の位置にある要素を指定。
3.最後に、join()メソッドを使ってリストの要素を結合し、変更後の文字列を生成して出力。
Pythonによる解答
s = list(input())
a, b = map(int, input().split())
s[a-1], s[b-1] = s[b-1], s[a-1]
print(''.join(s))