algorithm

[C++] 백준 알고리즘 1100번 (하얀 칸)

Dev:P 2018. 10. 24. 22:14
반응형

문제

 


 

이번에 다뤄볼 문제는 1100번 문제 '하얀 칸'입니다.

하얀 칸 문제에서 연습해야 하는 key-point2차원 배열과 이중포문입니다.

 

2차원 배열을 다루는 법을 알고있다면 쉽게 해결할 수 있는데, 

문제에서 주어진 8*8 사이즈의 2차원 배열을 하나 생성하고 해당 배열을 탐색하는 동시에 입력을 받습니다.

이때 체스 말을 뜻하는 'F'의 입력을 분기점으로 잡고 현재위치가 하얀 칸이라면 count 변수를 증가시켜줍니다.

 

아래 해답 코드에서 볼 수 있듯, 이중포문을 돌면서  i와 j가 모두 짝수이거나 모두 홀수일때 하얀칸임을 판단하는데, 이는 체스판 모양을 떠올려 보면 쉽게 이해할 수 있습니다.


 

드(C++)

#include<iostream>
using namespace std;
 
int main() {
 
    char arr[8][8];
    int count = 0;
 
    for (int i = 0; i <= 7; i++) {
        for (int j = 0; j <= 7; j++) {
            cin >> arr[i][j];
            if (arr[i][j] == 'F') {
                if (i % 2 == 0 && j % 2 == 0) count++;
                else if (i % 2 == 1 && j % 2 == 1) count++;
            }
        }
    }
 
    cout << count << endl;
    return 0;
}

 

반응형