알고리즘/일반

백준 3085번: 사탕 게임 (JAVA)

눈사람99 2023. 5. 3. 10:50
728x90

 

문제 해석

 

인접한 사탕이 다른 색이면 서로 위치를 교환한다.

인접한 사탕이 같은 색이면 두 사탕을 먹을 수 있다.

연속으로 최대 먹을 수 있는 사탕의 최대 개수를 출력한다.

 

알고리즘

 

사탕을 채워놓은 행렬을 만들고 인접한 색이 다르거나 같거나 모두 교환을 진행하고 인접한 두 사탕을 가로로 골랐으면 가로로, 세로로 골랐으면 세로로 탐색하여 교환 후 최대 개수를 매번 비교하며 갱신한다. 

한번 교환 후 이어서 다른 것을 교환하는 것이 아닌 교환 후 다시 원상 복귀를 해야 하는 문제였다.

 

코드

728x90