PS (Problem Solving)/SW Expert Academy
[SWEA] 15612. 체스판 위의 룩 배치 - 파이썬
캐럿노트
2023. 1. 20. 13:00
문제
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AYOBfxwaAXsDFATW
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
설계
- 룩(Rook)이 정확히 8개가 있어야 한다! -> 8개보다 적어도 no
# 정확히 룩이 8개가 있어야 한다! -> 8개보다 없어도 no
T = int(input())
for TC in range(1, T + 1):
arr = [input() for _ in range(8)]
answer = 'yes'
Rook = 0
for x in range(8): # 위에서 아래로 검사
cnt = 0
for y in range(8):
if 'O' == arr[x][y]:
cnt += 1
Rook += 1 # Rook 개수는 1번만 확인한다.
if cnt > 1:
answer = 'no'
break
for y in range(8): # 좌에서 우로 검사
cnt = 0
for x in range(8):
if 'O' == arr[x][y]:
cnt += 1
if cnt > 1:
answer = 'no'
break
if Rook != 8: # Rook이 정확히 8개 있어야 통과이다.
answer = 'no'
print(f'#{TC} {answer}')