반응형
문제
이번에 다뤄볼 문제는 1100번 문제 '하얀 칸'입니다.
하얀 칸 문제에서 연습해야 하는 key-point는 2차원 배열과 이중포문입니다.
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;
}
반응형
'algorithm' 카테고리의 다른 글
[C++] 백준 알고리즘 1929번 (소수 찾기) (0) | 2019.01.20 |
---|---|
[C++] 백준 알고리즘 1978번 (소수 찾기) (0) | 2018.10.26 |
[C++] 백준 알고리즘 11005번 (진법 변환2) (0) | 2018.10.25 |
[C++] 백준 알고리즘 9613번 (GCD합) (0) | 2018.10.24 |
[C++] 백준 알고리즘 2999번 (비밀 이메일) (0) | 2018.10.24 |