728x90
문제
체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다.
가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램을 작성하시오.
https://www.acmicpc.net/problem/1100
입력
첫째 줄부터 8개의 줄에 체스판의 상태가 주어진다.
‘.’은 빈 칸이고, ‘F’는 위에 말이 있는 칸이다.
출력
첫째 줄에 문제의 정답을 출력한다.
예제
# input
.F.F...F
F...F.F.
...F.F.F
F.F...F.
.F...F..
F...F.F.
.F.F.F.F
..FF..F.
# output
1
# input
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
# output
32
문제 풀이
# 1
ans = 0
for i in range(8):
C = input()
for j in range(8):
# 홀수 줄일 때(0, 2, 4, 6)
if i % 2 == 0:
if j % 2 == 0 and C[j] == 'F':
ans += 1
# 짝수 줄일 때(1, 3, 5, 7)
else:
if j % 2 != 0 and C[j] == 'F':
ans += 1
print(ans)
# 2
C = [input() for i in range(8)]
ans = 0
for i in range(8):
for j in range(8):
# 홀수 줄 홀수 칸일 때
if i % 2 == 0 and j % 2 == 0 and C[i][j] == 'F':
ans += 1
# 짝수 줄 짝수 칸일 때
elif i % 2 != 0 and j % 2 != 0 and C[i][j] == 'F':
ans += 1
print(ans)
파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
728x90