잘못된 방향
시간 제한1초메모리 제한128 MB
F, L, R로 이루어진 명령 문자열에서 정확히 한 글자를 다른 글자로 바꿀 때 도달할 수 있는 서로 다른 최종 위치의 개수를 센다.
문제
농부 존은 새로 산 프로그래밍 가능한 트랙터를 가지고 있다. 트랙터를 움직이려면 문자 F, L, R로만 이루어진 길이 ()의 명령 문자열을 입력한다. F는 트랙터가 현재 바라보는 방향으로 한 칸 전진하게 하고, L은 왼쪽으로 90도, R은 오른쪽으로 90도 회전시킨다(회전은 위치를 바꾸지 않는다). 트랙터는 원점 에서 북쪽을 바라본 채로 시작한다.
의도한 명령 문자열을 입력한 뒤, 존은 정확히 한 글자를 잘못 입력했다는 것을 깨달았지만 어느 글자인지는 기억하지 못한다. 잘못 입력된 글자는 원래 의도한 글자가 아닌 나머지 두 글자 중 하나이다(예를 들어 R을 입력하려던 자리에 F나 L을 입력했을 수 있다). 정확히 한 글자가 잘못 입력되는 모든 경우를 고려할 때, 트랙터가 도착할 수 있는 서로 다른 최종 위치가 몇 개인지 구하여라. 최종적으로 바라보는 방향은 상관없다.
입력
존이 의도한 명령 문자열이 한 줄에 주어진다(길이는 ).
출력
명령 문자열에서 정확히 한 글자가 잘못 입력되었을 때, 트랙터가 도착할 수 있는 서로 다른 위치의 개수를 정수 하나로 출력한다.
힌트
예시에서 존은 앞으로 두 번 전진하여 에 도착하려 했다. 정확히 한 글자를 잘못 입력하면 가능한 문자열은 FL, FR, LF, RF 네 가지이며, 각각 , , , 에 도착하므로 서로 다른 위치는 총 개이다.