Recent Posts
Recent Comments
Link
- Today
- Yesterday
- Total
메이쁘
(JAVA) 백준 14503번 : 로봇 청소기 본문
https://www.acmicpc.net/problem/14503
시뮬레이션 문제다.
이 문제는
뱀 문제와 비슷하다.
또한,
문제에 명시되어있는 흐름대로 알고리즘을 작성하면 된다.
매커니즘 대신 주의할 부분만 포스팅하고 마치겠다.
위 캡쳐 화면 중 2.b 를 구현하기 위해
왼쪽으로 90도 방향을 바꾸는 코드를 짜야한다.
이는
direction = direction == 0 ? 3 : direction - 1;
로 표현할 수 있다. (문제를 보면 0 ~ 3까지 순서대로 시계방향으로 주어졌기 때문이다.)
다음으로,
2.c와 2.d 를 구분하기 위해
처음 바라봤던 방향의 한칸 뒤가 벽 인지 아닌지 파악해둬야 한다.
그래서 벽인 경우
네 방향을 체크하는 반복문을 다시 실행해야 한다.
벽이 아닌 경우에는
뒤로 한 칸 이동한 후 계속 진행하면 되는데
이 때, 방향은 처음 바라봤던 방향을 유지해야 한다. (이것때메 틀릴 뻔했다.)
간단하죠?
감사합니다.
소스코드
'Algorithm > Baekjoon' 카테고리의 다른 글
(JAVA) 백준 3055번 : 탈출 (0) | 2020.04.21 |
---|---|
(JAVA) 백준 14891번 : 톱니바퀴 (0) | 2020.04.20 |
(JAVA) 백준 3190번 : 뱀 (0) | 2020.04.07 |
(JAVA) 백준 1018번 : 체스판 다시 칠하기 (0) | 2020.04.07 |
(JAVA) 백준 2455번 : 지능형 기차 (0) | 2020.04.06 |
Comments