체스판은 8x8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다.
가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램을 작성하시오.
첫째 줄부터 8개의 줄에 체스판의 상태가 주어진다. ‘.’은 빈 칸이고, ‘F’는 위에 말이 있는 칸이다.
아래는 체스판의 모습니다.
체스판의 가장 왼쪽 위칸을 (0,0)이라고 보았을 때, 흰 칸은 다음과 같은 위치에 존재한다.
(0,0)
(2,0) (1,1) (0,2)
(4,0) (1,3) (2,2) (1,3) (0,4)
(6,0) (1,5) (2,4) (3,3) (4,2) (5,5) (0,6)
(7,1) (6,2) (5,3) (4,4) (3,5) (2,6) (1,7)
(7,3) (6,4) (5,5) (4,6) (3,7)
(7,5) (6,6) (5,7)
(7,7)
우선 체스판이 8x8 형태 이기 때문에 체스칸 인덱스의 범위는 0 - 7까지이다. 그리고 흰색칸의 행 인덱스와 열 인덱스의 합은 항상 짝수이며, 범위는 0~14에 해당한다.
따라서 코드에서는
chess = list()
for i in range(8):
temp = input()
chess.append(temp)
result = 0 # 하얀칸 위에 존재하는 말의 총 개수
for i in range(0, 15, 2):
for j in range(i + 1):
if i - j >= 8: continue
elif j >= 8: continue
elif chess[j][i - j] == 'F':
result += 1
print(result)
chess = []for _ in range(8):
chess.append(list(map(str, list(input()))))
answer = 0
for i in range(8):
for j in range(8):
if (i + j) % 2 == 0: #하얀칸일 경우
if chess[i][j] == 'F': #F있을 경우
answer += 1
print(answer)