공부 자료/알고리즘

(C/C++) 백준 1100번 - 하얀 칸

뚜루뚜루세니 2021. 7. 5. 21:39
728x90

문제출처:https://www.acmicpc.net/problem/1100

 

1100번: 하얀 칸

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

www.acmicpc.net

1. 코드

#include <iostream>
#include <algorithm>
#include <string.h>
using namespace std;

int main() {

	char chess[8][9];
	int count=0;

	for (int i = 0; i < 8; i++) {
		scanf("%s", chess[i]);

	}
	for (int i = 0; i < 8; i++) {
		for (int j = 0; j < 8; j++) {
			if ((i + j) % 2 == 0 && chess[i][j] == 'F')
				count++;
		}
	}
	printf("%d", count);
}

2. 해결과정

흰색칸의 인덱스가 [0][0]이고 번갈아가면서 색칠되기 때문에 흰색칸이 되기 위해서는 각 인덱스의 합이 짝수일 때이다.

따라서 [i][j]합이 짝수이고 K일때 카운트값을 1 증가 시켜준다.

 

3. 느낀점

처음에 전체 문자열로 입력받을 때 1차원 배열과 같이 2차원 배열도 입력받을 수 있는지 고민을 했고, 그것을 제외하고는 막히는 부분은 없던 쉬운 문제였던 것 같다.

하나 사소하게 문자를 나타낼때는 작은 따옴표 인것! 까먹지 않길

728x90