suheang

[백준] | JAVA, 자바 | 1100번 - 하얀 칸 본문

알고리즘

[백준] | JAVA, 자바 | 1100번 - 하얀 칸

suheang 2024. 4. 22. 21:49

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

 

1100번: 하얀 칸

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

www.acmicpc.net


문제 요약 :

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


문제 풀이 :

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] chess = new String[8];
        String[] board = {("WBWBWBWB"), ("BWBWBWBW"), ("WBWBWBWB"), ("BWBWBWBW"), ("WBWBWBWB"), ("BWBWBWBW"), ("WBWBWBWB"), ("BWBWBWBW")};
        for (int i = 0; i < chess.length; i++) {
            chess[i] = br.readLine();
        }

        int count = 0;
        for (int i = 0; i < chess.length; i++) {
            for (int j = 0; j < chess[i].length(); j++) {
                char c = chess[i].charAt(j);
                char c2 = board[i].charAt(j);
                if (c == 'F' && c2 == 'W') count++;
            }
        }
        System.out.println(count);
    }
}

 

1. 체스판의 상태를 입력받을 배열 chess 생성, 검정 칸과 하얀 칸을 저장해 둘 배열 board 생성 

2. 체스판의 상태를 배열 chess에 입력

3. 하얀 칸 위에 말이 몇 개 있는지 확인할 변수 count 생성

4. 체스판 위에 말이 있고 하얀 칸 위에 있다면 count++

5. 저장된 count 출력