- 알고리즘 : 브루트 포스
- 전체 코드
- 풀이과정
1. 8 * 8 체스판 생성하기
위 그림과 같이 M, N - 8까지 진행
for (int i = 0; i <= M - 8; i++) {
for (int j = 0; j <= N - 8; j++) {
sb = new StringBuilder();
int line = 0;
while (line < 8) {
sb.append(arr[j + line], i, i + 8);
line++;
}
2. 첫번째 칸이 Black인 경우 & 첫번째 칸이 White인 경우
private static int startB(StringBuilder sb) {
int count1 = 0;
for (int i = 1; i <= 8; i++) {
if (i % 2 == 1) {
for (int j = (i - 1) * 8; j < i * 8; j += 2) {
if (sb.charAt(j) != 'B') {
count1++;
}
if (sb.charAt(j + 1) != 'W') {
count1++;
}
}
} else {
for (int j = (i - 1) * 8; j < i * 8; j += 2) {
if (sb.charAt(j) != 'W') {
count1++;
}
if (sb.charAt(j + 1) != 'B') {
count1++;
}
}
}
}
return count1;
}
3. 두 경우 중 변경이 작은 수 반환 & 전체 경우의 수 중 가장 작은지 판단
if (min > Math.min(count1, count2)) {
min = Math.min(count1, count2);
}
'Java & Spring > 코딩테스트' 카테고리의 다른 글
[백준] Java - 1929번 : 소수 구하기 (0) | 2024.12.10 |
---|---|
52일차 - 알고리즘 코드카타(실패) (1) | 2024.10.01 |
43일차 - 알고리즘 코드카타 (0) | 2024.09.12 |
42일차 - 알고리즘 코드카타 (0) | 2024.09.11 |
39일차 - 알고리즘 코드카타 (0) | 2024.09.06 |