"꾸준하고 완벽한 한 걸음"

PS/Baekjoon Online Judge

[백준 03076] 상근이의 체스판 [Java]

kimyoungrok 2025. 4. 28. 18:19
728x90

문제

https://www.acmicpc.net/problem/3076

 


풀이

한 칸의 길이가 A, B인 R*C 배열에 대해 체스판을 그려 넣는 문제다.

체스판을 만들기 위해서는 체스판의 한 칸에 해당하는 영역을 방문 후,

        for (int i = 0; i < R; i += A) {
            for (int j = 0; j < C; j += B) {

A*B크기에 동일한 문자를 표시하면 된다.

                for (int a = 0; a < A; a++) {
                    for (int b = 0; b < B; b++) {
                        board[i + a][j + b] = mark ? 'X' : '.';
                    }
                }

동일한 문자로 해당 영역을 전부 변경했다면, 마크 모양을 변경해야 한다.

또한, 새로운 행으로 이동했다면 이전 행의 첫 번째 열 마크와 달라야 한다.

                mark = !mark;
            }
            startMark = !startMark;
            mark = startMark;
        }

풀이 시간

≤ 5m


소스코드

https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/practice/03076.java

 

problem-solving/baekjoon-online-judge/practice/03076.java at main · rogi-rogi/problem-solving

Daily Problem Solving Challenges. Contribute to rogi-rogi/problem-solving development by creating an account on GitHub.

github.com

 

728x90