알고리즘/BOJ

백준 19235번 모노미노도미노

꾸준함. 2020. 6. 12. 10:42

문제 링크입니다: https://www.acmicpc.net/problem/19235

언제나처럼 삼성 코딩테스트는 수준 높은 독해력을 요구하는 시뮬레이션 문제를 출제하는 것 같습니다.

저는 초록색 칸과 파란색 칸을 각각 이차원 배열 green[6][4], blue[4][6]으로 선언하여 문제를 풀었습니다.

 

알고리즘은 아래와 같습니다.

1. 블록 타입과 좌표를 입력 받고 green과 blue 배열에 블록이 쌓인 칸을 표시해줍니다. 

1.1 이 때, 타입마다 다르게 표시해줘야 합니다. ex) t=2 일 경우 배열에도 2라고 표시

2. 초록색 칸과 파란색 칸에 대해 시뮬레이션을 돌립니다.

2.1 초록색 칸에서 행, 파란색 칸에서 열이 가득 채워질 경우 블록을 만나거나 경계선에 맞닿을 때까지 옮겨주는 작업을 진행하고 옮겼을 경우 또 다시 행이나 열이 가득 찰 수 있으니 재귀함수를 통해 시뮬레이션을 진행해줍니다.

3. 시뮬레이션을 진행한 뒤, 특별한 칸에 블록이 있을 경우 처리해줍니다.

4. 점수와 함께 green과 blue 배열에 남은 블록 개수를 출력해줍니다.

 

개발환경:Visual Studio 2019

 

지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형

'알고리즘 > BOJ' 카테고리의 다른 글

백준 17406번 배열 돌리기 4  (0) 2020.06.15
백준 19236번 청소년 상어  (2) 2020.06.15
백준 2517번 달리기  (0) 2020.06.08
백준 17281번 야구공  (0) 2020.06.04
백준 16964번 DFS 스페셜 저지  (0) 2020.06.04