본문 바로가기
프로그래머스 C++

프로그래머스 프렌즈4블록 C++

by Srff5123 2025. 1. 5.
728x90

 

프렌즈 4블록 게임 제작

2x2 형태로 4개가 붙어있는 블럭의 경우 사라지면서 점수를 얻는게임

겹쳐져 있는 경우에도 조건에 맞다면 블럭이 한번에 지워지며 점수를 얻는다

블록이 지워진 자리는 위에 있는 블럭들이 아래로 떨어져 빈공간을 채워준다

또 다시 조건을 만족하는 것이 있다면 계속해서 지워지며 빈공간을 채워주며 반복한다.

 

처음 블럭들의 배치가 주어졌을때, 지워지는 블록은 모두 몇개인지 판단하는 프로그램을 제작해라

 

입력으로 판의 높이 m, 폭 n과 판의 배치 board가 주어지며

board의 길이는 n 문자열 m개의 배열로 주어진다.

블록을 나타내는 문자는 대문자 A 에서 Z까지 사용한다

 

n만큼 내려가면 한칸 아래로

2x2 조건은

현재 블록과 다음 블록 그리고 n만큼 내려간 블록과 그 옆블록이 같은지를 검사

조건 만족이 되면 제거가 되는데

먼저 제거가 될 수 있는 블럭을 전체적으로 검사를 해주어 해당되는 좌표를 set을 이용해 중복제거하며 저장하고

한번에 제거를 하며 answer에 ++을 해준다.

728x90