Intro
S기업 코딩테스트 대비 문제풀이를 계속한다.
백준사이트의 문제링크를 첨부한다.
https://www.acmicpc.net/problem/14503
많이 나오는 유형과는 달리 dfs, bfs를 사용하지 않고도 풀 수 있는 문제이다.
그냥 시키는 순서대로, 조건체크하면서 한줄한줄 진행하면
쉽게 풀 수 있는 문제였다.
개인적으로 기출 문제중에 가장 쉽지 않았나 생각한다.
문제를 간단히 설명하면,
N * M 그래프가 주어진다. (graph의 성분은 0 청소할 수 있는공간, 1 벽)
로봇청소기의 좌표와 바라보는 방향이 주어진다.
로봇 청소기는 동서남북 네 방향으로 바라볼 수 있는데, 작동순서는 다음과 같다.
1. 왼쪽이 청소할 수 있는 공간인지 탐색한다.
2. 청소할 수 있다면 왼쪽으로 회전하고 전진한다.
3. 청소할 수 없다면 왼쪽으로 회전하고 1번부터 다시 진행한다.
네방향을 탐색해도 청소할 공간이 없다면, 바라보는 방향을 유지하면서 후진한다.
이후 1번부터 다시진행한다.
Solution
청소를 몇번 할 수 있는 지를 결과값으로 출력한다.
크게 어려운 점이 없었다.
코드를 첨부하며 글을 마무리한다.
Code
'알고리즘' 카테고리의 다른 글
문제풀이10_시뮬레이션) 경사로 (0) | 2019.04.12 |
---|---|
문제풀이9_DFS) 연산자 끼워넣기 (0) | 2019.04.09 |
문제풀이7_DFS, BFS) 연구소 (0) | 2019.04.02 |
문제풀이6_) 시험 감독 (0) | 2019.03.28 |
문제풀이5_BFS) 아기상어 (0) | 2019.03.26 |