시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 512 MB | 257 | 58 | 38 | 21.111% |
가희는 거북이 인형을 좋아합니다. 거북이 등딱지에 위에 또아리를 틀고 앉으면 푹신하기 때문입니다.
[그림 1] 거북이 인형 위에서 또아리를 튼 가희
그런데 어느 날 거북이 인형이 엄마 주인 방으로 가 버렸습니다. 엄마 주인도 거북이 인형을 좋아하기 때문입니다.
엄마 주인을 제일 무서워 하는 가희는 엄마 주인이 자고 있을 때 몰래 거북이 인형을 리모컨으로 이동시켜서 자기 집에 놔두려고 합니다.
가희는 목적을 달성할 수 있을까요? 가희를 도와주세요.
첫 줄에 맵의 세로 크기 R과 가로 크기 C가 주어집니다.
두 번째 줄부터 R+1번째 줄까지 길이가 C인 문자열이 주어집니다.
문자열에 있는 문자는 가희의 집을 나타내는 'H', 거북이를 나타내는 'T', 장애물을 나타내는 '#', 빈 칸을 나타내는 '.' 중 하나입니다.
가희가 어떤 순서대로 버튼을 눌러야 하는지 출력해 주세요. 버튼은 최소 횟수로 눌러야 하며, 거북이는 맵 바깥으로 이동할 수 없습니다.
또한 거북이를 이루는 'T'가 장애물이 있는 위치로 이동할 수 없습니다.
거북이 인형을 위로 1칸 이동하는 버튼은 U, 오른쪽으로 1칸 이동하는 버튼은 R, 아래로 1칸 이동하는 버튼은 D, 왼쪽으로 1칸 이동하는 버튼은 L입니다.
만약에, 거북이 인형이 가희 집으로 갈 수 없다면 -1을 출력해 주세요.
거북이 인형이 가희 집에 갔다는 의미는, 거북이 인형 중 일부분이 가희 집의 위치에 있다는 것을 의미합니다.
5 5 ..... .TTT. ..HT. .TTT. .....
U
가희는 리모콘의 버튼을 1번 눌러서, 거북이 인형의 일부분을 자기 집에 놓을 수 있습니다.
[그림 2] 거북이 인형의 처음 위치와 (왼쪽) 가희가 리모컨의 U 버튼을 한 번 눌렀을 때 (오른쪽)
이 방법 말고도, D 버튼을 한 번 누르거나, L 버튼을 한 번 눌러도 됩니다.
R 버튼을 누르고 L 버튼을 누른 다음에 L 버튼을 눌러도 되지만, 이 경우는 최소 횟수로 누른 것이 아니므로 답이 되지 않습니다.
10 10 .......... ...TTT.... .....T.... ....TT.... ...HT..... .......... .......... .......... .......... ..........
L
거북이 인형이 왼쪽으로 한 칸 가면, 거북이 인형의 일부분이 가희 집이 있는 위치로 가게 됩니다.
10 10 .......... ...TTT.... .....T.... ....TT.... ..H#T..... .......... .......... .......... .......... ..........
ULLD
거북이는 왼쪽 방향으로 갈 수 없습니다. 거북이 왼쪽 바로 옆에 장애물이 있기 때문입니다.
Contest > BOJ User Contest > 가희와 함께 하는 코딩 테스트 > 가희와 함께 하는 2회 코딩 테스트 6번