< 실버2 문제>
https://www.acmicpc.net/problem/1780
Step1. 현재 종이 사이즈 안에서 모든 배열의 값이 같은지 확인 : 여기서는 sameCheck 함수 사용
1-1. 같다면, 종이 사이즈 안에서 어떤 값인지 확인 후 ( 1 or -1 or 0 ) 갯수 증가시키기.
num1, num2, num3
Step2. 종이를 다시 9등분 해야 하는 함수가 필요
1-1. 현재 위치가 x,y 일 때 아래의 좌표로 총 9번 나뉘어야 하는데
(x,y) (x,y+div) (x,y +div*2)
(x+div, y) (x+div, y+div) (x+div, y+div*2)
(x+div*2, y) (x+div*2, y+div) (x+div, y+div*2)
이중 for문을 통해서 각 x,y 좌표를 호출할 수 있게 한다.
1-2. 9등분 한 후, Step1 으로 돌아가 모든 배열의 값이 같은 경우, 갯수를 구한다.
* 계속해서 갯수를 확인하고, 9등분 나누고, 갯수를 확인하는 작업을 해야하므로 재귀를 사용하였다.
'Algorithm Study' 카테고리의 다른 글
[BOJ] 2468: 안전영역/ JAVA, DFS (0) | 2022.05.02 |
---|---|
[BOJ] 3184번 : 양 / JAVA, DFS (0) | 2022.04.26 |
[BOJ] 로또 / JAVA, 재귀 (0) | 2022.04.07 |
[BOJ] 2529번: 부등호 / JAVA, 백트래킹 (0) | 2022.04.06 |
[BOJ] 10819번: 차이를 최대로 / JAVA / Backtracking, BruteForce (0) | 2022.03.26 |