로봇언어
in Algorithm on SW Expert Academy
Software Expert Academy [24001] 로봇언어
풀이
물음표를 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;
}
}