본문 바로가기

BOJ

[BOJ][Python] 백준 23031번 - 으어어... 에이쁠 주세요..

728x90

문제 링크: https://www.acmicpc.net/problem/23031

 

23031번: 으어어… 에이쁠 주세요..

밤이 되면 어두워지는 다솔관에는 좀비가 나온다는 괴담이 있다. 그 좀비들의 정체는 바로 시험 기간에 공부하느라 지친 학생들이었다. 지친 학생들은 멀리서 보면 흡사 좀비이므로 학생 좀비

www.acmicpc.net

 

 


문제 풀이

일단 전형적인 시뮬레이션 문제같다.

방향에 따라서 움직임이 변경되기 때문에 배열을 추가했다.

0은 북쪽, 1은 동쪽, 2는 남쪽, 3은 서쪽으로 맞춰주고, 스위치를 켰을 때 불이 8방향으로 켜지므로 배열을 추가했다.

그리고 좀비의 좌표를 확인하면서 추가했고, 처음 방향은 남쪽이므로 2를 추가해줬다.

 

여기서 많이 간과할 수 있는 케이스가 있다.

일단 아리가 움직여서 좀비와 만나는 경우, 아리가 움직이고 좀비가 움직여서 아리랑 만나는 경우 2가지가 있다.

또한 불이 켜져있는 곳은 s로 바꿔줬는데, 불이 켜진 곳에 스위치가 있는 경우가 있다. s로 바꿀 경우 스위치를 켤 수 없으므로 A로 바꿔서 예외 처리해줬다.

 

무튼 나머지 구현은 본문에 나와있는 데로 잘 구현해주면 틀리지 않겠지만, 필자는 맞왜틀 당하다가 지인한테 물어봤는데 다른 건 다 맞고 방향을 바꾸는 곳을 잘못 적었다.

3190(뱀), 14503(로봇 청소기)에 이어서 3번째 코드 다맞고 방향 바꾸기에 오류가 있었다.

다음에도 이런 문제에 맞왜틀하면 방향부터 봐야겠다...

 

코드

728x90