코딩하는 해달이

[백 준 Java] 1100번 문제 : 하얀 칸 본문

개인 공부/백준

[백 준 Java] 1100번 문제 : 하얀 칸

코딩하는 해달 2023. 3. 4. 17:31

문제 설명

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

 

입력

첫째 줄부터 8개의 줄에 체스판의 상태가 주어진다. ‘.’은 빈 칸이고, ‘F’는 위에 말이 있는 칸이다.


출력

첫째 줄에 문제의 정답을 출력한다.

 

알고리즘

푼 방법

문자열을 줄바꿈 문자를 기준으로 2차원 리스트로 입력받고, 짝수 줄은 흰색부터, 홀수 줄은 검은색부터 체크해서 체스판 전체를 순회하며 말의 갯수를 카운팅한다.

 

풀이코드

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

public class Main {
    public static void main(String[] args) throws IOException {
        List<String> input = new ArrayList<>();
        int count = 0;
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        for (int i = 0; i < 8; i++) {
            input.add(br.readLine());
        }

        for(int i = 0; i < input.size(); i++) {
            for(int j = 0; j < input.get(i).length(); j++) {
                if(i % 2 == 0) {
                    if(j % 2 == 0 && input.get(i).charAt(j) == 'F') {
                        count++;

                    }
                } else {
                    if(j % 2 != 0 && input.get(i).charAt(j) == 'F') {
                        count++;
                    }
                }
            }
        }
        System.out.println(count);
    }

}

링크

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

 

1100번: 하얀 칸

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

www.acmicpc.net

 

반응형
Comments