문제 링크: https://www.codetree.ai/frequent-problems//pacman
*같은 문제: 백준 23290 - 마법사 상어와 복제
빡구현 문제. 매 스텝마다 (몬스터 복제 - 몬스터 이동 - 팩맨 이동 - 시체 유지시간 감소 - 복제 완료) 사이클이 반복된다.
팩맨은 알을 제거하지 않고 오직 해당 시점에 존재하는 몬스터만 제거하기 때문에, 복제/이동을 수행하는 함수에서 이동 결과를 tmp라는 배열에 따로 저장해두고, tmp의 상태만을 가지고 팩맨이 이동하도록 결정했다.
팩맨의 이동 우선순위는 상>하>좌>우인데, 우우우->상상상 방향으로 탐색하여 최종 방향을 정했다. 현재 스텝의 살아남은 몬스터 + 현재 스텝에서 만든 알이 그대로 다음 스텝의 초기 몬스터 상태가 되기 때문에 마지막에 tmp 결과를 그대로 field 결과에 합쳐줬다.
'알고리즘 문제풀이 > 코드트리(삼성 기출)' 카테고리의 다른 글
연산자 배치하기(2017 하반기 오후 2번, 백준 14888 연산자 끼워넣기) (0) | 2022.10.08 |
---|---|
냉방 시스템(2021 하반기 오전 2번, 백준 23289 온풍기 안녕!) (0) | 2022.10.08 |
Sam의 피자학교(2021 하반기 오후 2번, 백준 23291 어항 정리) (0) | 2022.10.08 |
예술성(2022 상반기 오전 2번) (0) | 2022.10.07 |
나무박멸(2022 상반기 오후 2번) (0) | 2022.10.07 |