A. 문제설명
문제에 대한 자세한 설명은 링크 참조
1. 가로 A, 세로 B 크기의 아래와 같은 땅이 존재
2. N개의 로봇의 초기위치 x, y 그리고 현재 바라보는 방향이 각각 주어짐
3. 그리고 M번의 명령이 주어지는데, 각각 해당 명령을 수행하는 로봇의 번호, 명령의 종류, 반복 횟수가 주어짐
4. 여기서 명령의 종류는 아래와 같음
- L: 로봇이 향하고 있는 방향을 기준으로 왼쪽으로 90도 회전한다.
- R: 로봇이 향하고 있는 방향을 기준으로 오른쪽으로 90도 회전한다.
- F: 로봇이 향하고 있는 방향을 기준으로 앞으로 한 칸 움직인다.
5. 이러한 명령을 수행하는 중간에 벽을 만나거나 다른 로봇을 만나면 메세지 출력 및 종료
6. 아무런 충돌없이 모든 명령을 수행하면 OK 출력
B. 접근법
시뮬레이션
간단한 배열 탐사 시뮬레이션 문제이다. 이상하게 배열을 뒤집어놔서 헷갈렸지만 구현상에서 어려울 것은 전혀 없다.
맨 처음 문제 독해와 그림 설명을 좀 더 꼼꼼하게 읽을 것
C. 풀이
1. 각 명령을 순차적 입력에 따라 수행
2. L/R인 경우 각각 해당 로봇의 방향을 좌/우로 90도씩 회전
3. F인 경우 다음 위치로 이동 후, 다음 위치가 벽이거나 로봇이 있는 경우 메세지 출력 후 종료
4. 모든 명령 수행 후에도 아무런 충돌이 없을 시 OK 출력
D. 내 코드