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
'공부 자료 > 알고리즘' 카테고리의 다른 글
(C/C++) 백준 16360번 - Go Latin (0) | 2021.07.07 |
---|---|
(C/C++) 백준 1259번 - 팰린드롬수 (0) | 2021.07.06 |
(C/C++) 백준 7600번 - 문자가 몇갤까 (0) | 2021.07.05 |
(C/C++) 백준 2711번 - 오타맨 고창영 (0) | 2021.07.05 |
(C/C++) 백준 10992번- 별 찍기 (0) | 2021.07.04 |