bigpie1367   2년 전

50%까지 진행하고 나서 실패합니다.

코드의 흐름은 아래와 같습니다.

테스트케이스를 진행하면서 커서를 0으로 설정한다. 이는 현재 reverse 되지 않았음을 의미합니다. 커서를 따로 선언한 이유는 reverse할 때마다 Deque를 다 빼고 뒤집어서 넣으면 시간초과가 뜰 것 같아서 입니다.

명령어를 진행하면서 R이 들어오면 커서를 뒤집습니다. 뒤집어졌다는 것만 알면 되니까. 그리고 D가 들어오면 처음 Deque가 비었는지 체크하고 비었다면 flag를 false로, 그렇지 않다면 커서에 따라 마지막을 뺄 지 처음을 뺄 지 결정합니다. 

마지막 출력부분은 우선적으로 flag에 따라 error를 출력할 지 값을 출력할 지 판단합니다. 비어있지 않다면 마지막 출력딴에서만 Deque를 한 번 뒤집어 값을 설정해줍니다. 사실 뒤집지 않고 StringBuilder같은걸 활용해도 되겠지만, toString으로 출력을 편하게하려고 뒤집어줬습니다.

고려해본 사항은 아래와 같습니다

1. 출력간에 공백이 있는가?

2. Deque가 비어있는가?'


시도해본 TC

문제의 TC

+

1

RRRRRRDRRRDD

3

[1,2,3]

bigpie1367   2년 전

출력단에서 문제였습니다.

댓글을 작성하려면 로그인해야 합니다.