본문 바로가기

Algorithm

[Java] 백준 1100번 : 하얀 칸

1. 문제

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

 

1100번: 하얀 칸

체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램

www.acmicpc.net

2. 풀이

- 체스판이 지속적으로 바뀌는 것을 고려하여 boolean 변수를 선언하여 i가 바뀔 때마다 boolean 변수를 재정의 해주면 간단하게 풀 수 있다.

3. 코드

package baekjoon;

import java.util.Scanner;

public class Q1100_1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        boolean even = true; // 짝수
        int count = 0;

        for (int i = 0; i < 8; i++) {
            String str = scanner.next();
            for (int j = 0; j < 8; j++) {

                if (even && j % 2 == 0) {
                    if (str.charAt(j) == 'F') {
                        count++;
                    }
                }
                if (!even && j % 2 == 1) {
                    if (str.charAt(j) == 'F') {
                        count++;
                    }
                }
            }
            even = !even;
        }
        System.out.println(count);
    }
}