[코딩테스트]BJ3085 사탕 게임-C++

Coffee Time☕·2020년 10월 7일
0

코딩테스트

목록 보기
2/42

[문제]

상근이는 어렸을 적에 "봄보니" 게임을 즐겨했다.
가장 처음에 NXN 크기의 사탕을 채워 놓는다. 사탕의 색은 모두 같지 않을 수도 있다. 그 다음 고른 칸에 들어있는 사탕을 서로 교환한다. 이제, 모두 같은 색으로 이루어져 있는 가장 긴 연속 부분을 고른다음 그 사탕을 모두 먹는다.
사탕이 채워진 상태가 주어졌을 때, 상근이가 먹을 수 있는 사탕의 최대 개수를 구하는 프로그램을 작성하시오.

[입력]

첫째 줄에 보드의 크기 N이 주어진다.(3<=N<=50)

다음 N개 줄에는 보드에 채워져 있는 사탕의 색상이 주어진다.
빨간색은 C , 파란색은 P, 초록은 Z, 노란색은 Y.
사탕의 색이 다른 인접한 두 칸이 존재하는 입력만 주어진다.

[출력]

첫째 줄에 상근이가 먹을 수 있는 사탕의 최대 개수를 출력한다.

[예제 입력1]

5
YCPZY
CYZZP
CCPPP
YCYZC
CPPZZ

[예제 출력1]

4

[접근방식]

서로 다른 2개의 사탕을 골라 가장 많은 같은 수의 색의 사탕을 만드는 것이 포인트이다. 이를 brute force 방식으로 인접한 모든 색이 다른 사탕을 바꾸어 먹을 수 있는 최대 사탕의 수를 구하는 방식으로 해결했다.

[코드]

[느낀점]

배열 INDEX에 유의해서 코드 작성하기.

0개의 댓글