Baekjoon Online Judge
문제
체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 8개의 줄에 체스판의 상태가 주어진다. ‘.’은 빈 칸이고, ‘F’는 위에 말이 있는 칸이다.
출력
첫째 줄에 문제의 정답을 출력한다.
예제 입력 | 예제 출력 |
.F.F...F F...F.F. ...F.F.F F.F...F. .F...F.. F...F.F. .F.F.F.F ..FF..F. |
1 |
........ ........ ........ ........ ........ ........ ........ ........ |
0 |
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |
32 |
........ ..F..... .....F.. .....F.. ........ ........ .......F .F...... |
2 |
풀이
#include <iostream>
using namespace std;
int main() {
// 하얀 칸 위 말의 수
int white = 0;
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
char c;
cin >> c;
// 입력한 문자의 위치가 하얀 칸인지 확인한다.
if (c == 'F') {
if (i % 2 == 0 && j % 2 == 0)
white++;
if (i % 2 == 1 && j % 2 == 1)
white++;
}
}
}
// 출력
cout << white;
return 0;
}
짝수번째 줄은 짝수 칸이 흰색이고 홀수번째 줄은 홀수 칸이 흰색인 것을 이용해서 풀었다.
'백준 > C++' 카테고리의 다른 글
[Baekjoon/C++] 농구 경기 1159번 (0) | 2022.04.29 |
---|---|
[Baekjoon/C++] 적어도 대부분의 배수 1145번 (0) | 2022.04.21 |
[Baekjoon/C++] 저항 1076번 (0) | 2022.04.21 |
[Baekjoon/C++] 나누기 1075번 (0) | 2022.04.21 |
[Baekjoon/C++] 명령 프롬프트 1032번 (0) | 2022.04.21 |