← 목록

로봇의 위치 이동하기

Lv.2 Python
문제 설명
로봇이 1차원 직선 위에서 움직이고 있습니다. 로봇의 초기 위치는 0입니다.
사용자로부터 로봇의 움직임을 제어하는 문자열 commands가 주어집니다.

각 문자는 다음과 같은 동작을 의미합니다:

- 'R': 오른쪽으로 1만큼 이동 (현재 위치 +1)
- 'L': 왼쪽으로 1만큼 이동 (현재 위치 -1)
- 'B': 뒤로 가기 (Back). 바로 직전에 수행했던 이동(R 또는 L)을 취소하고 그 전 위치로 돌아갑니다.
- 'S': 정지 (Stay). 현재 위치를 유지하며, 'B' 명령으로 취소할 수 있는 '이동' 기록에 남지 않습니다.


제한 사항:
- 'B' 명령이 나왔을 때 직전 이동 기록이 없다면 'B' 명령은 무시합니다.
- 'B' 명령은 연속해서 나올 수 있습니다. (예: RRBB는 두 번의 이동을 모두 취소하여 다시 0이 됨)
- 모든 명령을 처리한 후 로봇의 최종 위치를 출력하세요.

입력
문자열 commands가 한 줄로 주어집니다. (1 ≤ 문자열 길이 ≤ 1,000)

출력
로봇의 최종 위치(정수)를 출력합니다.

예시 1

입력: RRRLB
출력: 2

설명: 0 → 1(R) → 2(R) → 3(R) → 2(L) → 3(B를 통해 직전 L 취소)


예시 2

입력: RSB
출력: 0

설명: 0 → 1(R) → 1(S) → 0(B를 통해 직전 이동인 R 취소)
코드 편집