문제
체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 8개의 줄에 체스판의 상태가 주어진다. ‘.’은 빈 칸이고, ‘F’는 위에 말이 있는 칸이다.
출력
첫째 줄에 문제의 정답을 출력한다.
예제 입력 1
.F.F...F
F...F.F.
...F.F.F
F.F...F.
.F...F..
F...F.F.
.F.F.F.F
..FF..F.
예제 출력 1
1
[ 문제 분석 ]
8*8짜리 정사각형 체스판이 주어져 있고, 첫번째 (0.0)칸을 기준으로 흰색, 검정색 칸이 번갈아 나타난다.
체스판의 상태를 입력하면, 흰색 칸 위에 말이 몇개 있는지 개수를 출력하면 된다.
입력은 .이나 F만 할 수 있고, .은 빈칸을 의미하고 F는 칸 위에 말이 있다는 것을 의미한다.
최종적으로 흰색 칸 위에 F가 몇개 있는지를 알아내면 된다.
[ 코드 ]
[ 문제 풀이 ]
출력할 갯수를 cnt변수로 입력받는다.
8*8이라는 체스판의 크기는 문제에서 주어졌으니 행렬 A로 고정한다.
가로는 i, 세로는 j로 인식하며 for문을 이용해 입력된 체스판의 상태를 A[i][j]로 cin한다.
행렬이 F인데, 가로 i와 세로 j의 합이 짝수이면 cnt를 하나씩 증가시킨다.
가로 i와 세로 j의 합이 짝수이면 cnt를 하나씩 증가시키는 이유는, 흰색 칸의 공통된 특징을 알면 되는데,
흰색 칸은 (0,0) (0,2) (0,4) .... (2,0)... 등등 행과 열을 더했을 때 짝수이기 때문이다.
'Koala - 5기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/python]14623: 감정이입 (0) | 2022.02.15 |
---|---|
[백준/python] - 15905번: 스텔라(STELLA)가 치킨을 선물했어요 (0) | 2022.02.14 |
[백준/python] 5533번 유니크 (0) | 2022.02.14 |
<5주차> [BOJ / C++] 8611번 - 팰린드롬 숫자 (0) | 2022.02.13 |
[BOJ/python] 10989번 수 정렬하기 3 (0) | 2022.02.13 |