[SWEA] 19235. 모노미노도미노
2020. 10. 11. 18:01
19235번: 모노미노도미노
모노미노도미노는 아래와 같이 생긴 보드에서 진행되는 게임이다. 보드는 빨간색 보드, 파란색 보드, 초록색 보드가 그림과 같이 붙어있는 형태이다. 게임에서 사용하는 좌표 (x, y)에서 x는 행,
www.acmicpc.net
까다로운 시뮬레이션 문제입니다.
블록을 입력받아 넣는 insert()
입력후 삭제하는 delete()
blue부분 움직이는 blueMove()
green부분 움직이는 greenMove()
블록타입따라 블록 이동하는 moveTypeOne,Two,Three()
함수를 사용하였습니다.
주의할 점은 블록이 쌓였을때 모두 제거한 뒤 이동시켜줘야 합니다.
연한 부분에 블록이 있는 경우는 밑에서 부터 한줄씩 제거해주는 방법을 사용했습니다.
블록을 insert 할때 블록의 위치를 Queue에 담고
blueMove, greenMove 할때 마다 Queue를 갱신해줘야 합니다.
블록을 밑으로 움직일때 해당 블록의 타입이 바뀌었는지 확인하고, insert와 동일하게 해당 블록의 타입대로 이동시켜야 합니다.
따라서 move할때 해당 블록의 타입이 바뀌었는지 확인해야합니다.
insert와 move의 차이점은 원레 차지하던 자리를 0으로 지워주는 차이가 있습니다.
또 주의할점은 블록을 insert할 때 뿐만 아니라, 블록의 연쇄작용이 일어날 수 있으므로 delete의 리턴값이 0일때까지 삭제 시켜봐야합니다.
중간중간 정확한 출력이 나오는지 검사하면서 진행하는게 좋습니다.
'Algorithm & Data Structure > SWEA' 카테고리의 다른 글
[SWEA] 14502. 연구소 (0) | 2020.10.13 |
---|---|
[SWEA] 12100. 2048 (Easy) (0) | 2020.10.12 |
[백준xSWEA] 13460. 구슬 탈출 2 (review) (0) | 2020.10.09 |
[삼성SW기출][백준] 17472. 다리만들기 2(Kruskal, unionFind) (0) | 2020.03.24 |
[삼성SW기출][백준] 17471. 게리맨더링 (0) | 2020.03.20 |