WARush

SRMの結果とか、解けた問題のコードを書いていきます

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;
    }
};