알고리즘/일반
백준 3085번: 사탕 게임 (JAVA)
눈사람99
2023. 5. 3. 10:50
728x90
문제 해석
인접한 사탕이 다른 색이면 서로 위치를 교환한다.
인접한 사탕이 같은 색이면 두 사탕을 먹을 수 있다.
연속으로 최대 먹을 수 있는 사탕의 최대 개수를 출력한다.
알고리즘
사탕을 채워놓은 행렬을 만들고 인접한 색이 다르거나 같거나 모두 교환을 진행하고 인접한 두 사탕을 가로로 골랐으면 가로로, 세로로 골랐으면 세로로 탐색하여 교환 후 최대 개수를 매번 비교하며 갱신한다.
한번 교환 후 이어서 다른 것을 교환하는 것이 아닌 교환 후 다시 원상 복귀를 해야 하는 문제였다.
코드
728x90