[sw] 선형 팩맨


문제 정보
check포인트 : 1 (부분 점수)
schedule시간 제한 : 2.0s
storage메모리 제한 : 512M
edit_square출제자:
 
답안 제출

팩맨이 좌우로 무한히 펼쳐진 수평선 위에 놓여있다.

이 수평선 위의 모든 정수 좌표\((...-2, -1, 0, 1, 2...)\)에는 펠렛(●)이 하나씩 놓여있다.

팩맨은 펠렛이 놓인 좌표에 도착하면, 해당 좌표의 펠렛을 먹는다.

(단, 한 번 먹은 펠렛은 다시 생성되지 않는다.)

팩맨은 \(gamer\)의 명령에 따라 움직이며, 좌표 \(0\)에서 시작한다. 이 때, 시작하자마자 좌표 \(0\)의 펠렛을 먹는다.

\(gamer\)는 총 \(n\)번의 명령을 내리며, 명령의 종류는 다음과 같다.

• "\(A\)" : 팩맨이 왼쪽(좌표 -1)으로 1칸 이동한다.

• "\(D\)" : 팩맨이 오른쪽(좌표 +1)으로 1칸 이동한다.

\(gamer\)가 입력한 \(n\)개의 명령에 따라 팩맨이 이동했을 때, 최종적으로 팩맨이 먹은 펠렛의 개수를 출력하라.

입력 설명

첫째 줄에 명령의 개수 \(n\) \((1 \le n \le 100)\)이 주어진다.

둘째 줄부터 \(n + 1\)번째 줄까지 각 줄마다 "\(A\)"또는 "\(D\)"의 명령이 주어진다

출력 설명

팩맨이 먹은 펠렛의 개수를 출력한다.

예제 입력 1

2
A
A

예제 출력 1

3

예제 입력 2

5
D
D
A
A
A

예제 출력 2

4

예제 입력 3

3
D
A
D

예제 출력 3

2

Notes

예제 2의 이동 경로는 다음과 같다.

처음 위치는 좌표 \(0\)이며, 펠렛을 먹는다. (먹은 개수: \(1\))

• \(D\) 입력 → 좌표 \(1\) → 펠렛을 먹음 (먹은 개수: \(2\))

• \(D\) 입력 → 좌표 \(2\) → 펠렛을 먹음 (먹은 개수: \(3\))

• \(A\) 입력 → 좌표 \(1\) → 이미 먹은 펠렛 (먹은 개수: \(3\))

• \(A\) 입력 → 좌표 \(0\) → 이미 먹은 펠렛 (먹은 개수: \(3\))

• \(A\) 입력 → 좌표 \(-1\) → 펠렛을 먹음 (먹은 개수: \(4\))

최종 결과는 \(4\)이다.

댓글

현재 작성된 댓글이 없습니다.