본문 바로가기

Programming/Algorithm (C++)

[백준 1100번] C언어 :: 하얀칸

문제

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

입력

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

출력

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

#include <stdio.h>

int main() {
	char arr[8][8];
	int i, j;
	int count = 0;

	for (i = 0; i < 8; i++)
		gets(arr[i]);

	for (i = 0; i < 8; i += 2) {
		for (j = 0; j < 8; j += 2) {
			if (arr[i][j] == 'F')
				count++;
		}
	}

	for (i = 1; i < 8; i += 2) {
		for (j = 1; j < 8; j += 2) {
			if (arr[i][j] == 'F')
				count++;
		}
	}
	printf("%d\n", count);
	return 0;


}

짝수, 홀수 칸 구분해서 'F'와 같은 문자 나타나면 같은 count 로 올리면된다