SRM608 Div2 Easy "OneDimensionalRobotEasy"
問題
TopCoder Statistics - Problem Statement
訳
無限に伸びる一直線の座標上にロボットが置かれている。初め、ロボットは座標0にある。猫のスヌークはロボットを動かすためのコマンドを送る。
あなたは文字列 commands が与えられる。commandsのi番目の文字はスヌークが送るi番目のコマンドを表している。もしコマンドのi番目の文字が'R'であれば、ロボットは右に動く(つまり座標xにあった場合x+1に移動する)。もし'L'であれば、ロボットは左に動く(つまり座標xにあった場合x-1に移動する)。ロボットにはあまり遠くに移動して見失うことがないよう、安全機能が組み込まれている。その安全機能はロボットが-AからBの範囲に留まるように設計されている。ロボットがBにありコマンド'R'が送られたときや、-Aにありコマンド'L'が送られたとき、そのコマンドは無視されるようになっている。
あなたは文字列 commands と 整数 A, B が与えられる。ロボットの最終的な位置を返せ。
制約
1 <= commandsの文字数 <= 50
1 <= A, B <= 50
考えたこと
やるだけ
ソースコード
class OneDimensionalRobotEasy { public: int finalPosition(string commands, int A, int B) { int pos = 0; for (int i = 0; i < commands.size(); i++) { if (commands[i] == 'L' && pos != -A) { pos--; } if (commands[i] == 'R' && pos != B) { pos++; } } return pos; } };