Manduss life

[Python][구현] 팩맨 - 코드트리 본문

전산/Algorithm

[Python][구현] 팩맨 - 코드트리

만두쓰 2024. 6. 11. 23:50

[문제]

https://www.codetree.ai/training-field/frequent-problems/problems/pacman/description?page=2&pageSize=20

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 

[알고리즘 특이사항]

  • 팩맨 이동 시, 삼중 for문을 사용했다. 

[느낀점/깨달은 점]

  • 팩맨 이동 시, 동일한 곳을 2번 이상 지나칠 경우, 먹는 몬스터의 총 개수가 중복되어 더해져서 틀렸음.
    • 예를 들면, 상하상일경우, '상'에 해당하는 몬스터의 수가 2번 더해진다. board를 따로 deepcopy해서(temp board) 지나칠 경우, 해당 몬스터들을 없애야한다. 
  • 그러나, 위를 수행할 경우, 지워진 몬스터의 Board 그대로 다음 경우의 수에 사용되어 틀렸음.
    • 경우의 수를 끝내기 전에 다시 해당 몬스터들을 채워줘야한다. 나는 temp_mon 배열에 저장하고, 경우의 수가 끝나면, temp board에 채워주었다. 
  • 시체 time을 넣어줄때, 2로 넣어주었더니 실패. 3으로 넣어주어야 성공. 
  • 자잘한 실수들이 아직 많다. 이번 문제 풀 때는, 바로 성공하겠구만~ 했는데 오산이었다. detail하게 설정했다고 생각하였는데도, detail에서 무너졌다. 끝까지 파고들자. 엣지케이스를 끝까지 생각해내자.
Comments