SWEA
[D3] SWEA 15612. 체스판 위의 룩 배치
코테봇
2024. 4. 29. 17:22
1. 접근 방식
상당히 쉽다.
O의 갯수는 총 8개여야한다.
하나의 행에는 1개의 O만 있어야하고,
하나의 열에는 1개의 O만 있어야한다.
2. 디테일한 구현
dict() 자료형을 이용하였다.
행에 대한 사전, 열에 대한 사전을 선언해준다.
예를 들어 O가 1행 3열에서 발견 되었으면
1행에 대한 밸류값 +1, 3열에 대한 밸류값 +1을 해준다.
1행에서 2개의 O가 있으면 밸류값이 +2가 되면서
no가 된다.
3. 코드 구현
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
def check(x):
for i in range(0,8):
if x[i]!=1:
return False
return True
if __name__=='__main__':
sys.stdin=open('input2.txt','r')
test_case=int(input()) ## 총 테스트 케이스 개수
for tc in range(test_case):
s=[list(map(str,input())) for _ in range(8)]
c={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0} ##행
l={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0} ##열
for i in range(8):
for j in range(8):
if s[i][j]=='O':
c[i]+=1
l[j]+=1
if check(c) and check(l):
print(f'#{tc+1} yes')
else:
print(f'#{tc+1} no')
|
cs |
4. 깨달은 점 및 반성
좋다.
자신감 가지고 가자