※ 문제
체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램을 작성하시오.
※ 입력
첫째 줄부터 8개의 줄에 체스판의 상태가 주어진다. ‘.’은 빈 칸이고, ‘F’는 위에 말이 있는 칸이다.
※ 출력
첫째 줄에 문제의 정답을 출력한다.
※ 해결방법
이 문제를 해결하기 위해서는 하얀 칸의 특성을 이해하는 것이 중요하다. (0,0)이 하얀 칸이라고 주어졌으므로 (1,0)은 검은칸, (2,0)은 하얀칸 순으로 진행이 될 것이고 아래는 (0,1)은 검은칸, (1,1)은 하얀칸으로 진행이 될 것이다. 이를 통해 x + y가 짝수이면 하얀 칸이고 x + y가 홀수이면 검정 칸이라는 것을 알 수 있다. 리스트에 저장을 하고 이중리스트를 사용하여, x + y가 짝수일 때, lst[x][y]에 F값이 있으면 카운트를 해주면 해결이 되는 것을 알 수 있다.
※ 파이썬 코드 정리
cnt = 0
lst = []
for _ in range(8):
chess = input()
lst.append(chess)
for i in range(8):
for j in range(8):
if (i+j) % 2 == 0:
if lst[i][j] == "F":
cnt += 1
print(cnt)
'백준' 카테고리의 다른 글
[백준/파이썬] 1267번 핸드폰 요금 (1) | 2024.09.29 |
---|---|
[백준/파이썬] 1550번 16진수 (1) | 2024.09.29 |
[백준/파이썬] 14425번 문자열 집합 (1) | 2024.09.28 |
[백준/파이썬] 24313번 알고리즘 수업 - 점근적 표기 1 (0) | 2024.09.14 |
[백준/파이썬] 24267번 알고리즘 수업 - 알고리즘의 수행 시간 6 (0) | 2024.09.09 |