SRM148 DIV2 600
問題を読む為の英単語
単語 | 意味 |
---|---|
keycaps | キー配置 |
decipher | 解読する |
問題概要
入力:タイプ文字列とキースイッチ
キースイッチは{"A:B","C:D"}というような形式で与えられ、
例えば始めのキースイッチが押された場合、
タイプ文字列にAがあればBに、BがあればAに変換する。
与えられたキースイッチを順に押し、最後まで押し終わったときの、
タイプ文字列の結果を出力せよ。
例示
"ABCDE"
{"A:B","B:C","C:D","D:E","E:A"}
Returns: "AEBCD"
回答コード
class CeyKaps { public string decipher(string typed, string[] switches){ string ret = typed; for (int i =0; i < switches.Length; i++) { string[] d_switch = switches [i].Split (':'); ret = ret.Replace (d_switch [0], "$"); ret = ret.Replace (d_switch [1], "%"); ret = ret.Replace ("$", d_switch [1]); ret = ret.Replace ("%", d_switch [0]); } return ret; } }
よく使いそうなコード
文字列の置換
D = A.Replace("B","C");
Aの文字列からBをCに置換した結果をDに格納する。