【AtCoder】PythonでABC236のA問題を丁寧に読み解く

AtCoder Beginner Contest 236 - Chukodai

実際の問題はこちらからご覧ください。

【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))