로봇언어


Software Expert Academy [24001] 로봇언어

문제보기
Alt text

풀이

물음표를 L 또는 R로만 대체했을때 가장 긴 거리가 나온다. 물음표를 L 또는 R로 대체해보고 가장 긴 거리를 출력한다.

소스코드

import java.util.Scanner;
 
public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        int T = sc.nextInt();
        for (int tc = 0; tc < T; tc++) {
            String command = sc.next();
 
            String[] replceLeftCommand = command.replace("?", "L").split("");
            int replceLeftMaxMove = countMaxDistance(replceLeftCommand);
 
            String[] replceRightCommand = command.replace("?", "R").split("");
            int replaceRightMaxMove = countMaxDistance(replceRightCommand);
 
            System.out.println(Math.max(replceLeftMaxMove, replaceRightMaxMove));
        }
    }
 
    public static int countMaxDistance(String[] commands) {
        int maxDistance = 0;
        int distance = 0;
 
        for (String command : commands) {
            if ("L".equals(command)) {
                distance--;
            } else {
                distance++;
            }
 
            maxDistance = Math.max(maxDistance, Math.abs(distance));
        }
 
        return maxDistance;
    }
}