SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
* 내 코드
t=int(input())
for tc in range(1,t+1):
result=1
arr=[0]*9
data=[list(map(int,input().split())) for _ in range(9)]
#가로
for i in range(9):
arr=[]
for j in range(9):
if arr.count(data[i][j])>0:
result=0
break
else:
arr+=data[i][j]
#세로
for i in range(9):
arr=[]
for j in range(9):
if arr.count(data[j][i])>0:
result=0
break
else:
arr+=data[j][i]
#격자
for i in range(9):
arr=[]
for j in range(i,i+3,1):
for k in range(i,i+3,1):
if arr.count(data[i][j])>0:
result = 0
break
else:
arr+=data[j][k]
print(f'{tc} {result}')
*에러 발생 -1
더보기
arr+=data[i][j]
TypeError: 'int' object is not iterable
* 그렇다. arr는 append()를 이용해서 추가해준다.
*에러 발생 -2
#격자
for i in range(9):
arr=[]
for j in range(i,i+3,1):
for k in range(i,i+3,1):
if arr.count(data[i][j])>0:
result = 0
break
else:
arr+=data[j][k]
for i in range(0, 9, 3): # 격자의 시작 행 인덱스
for j in range(0, 9, 3): # 격자의 시작 열 인덱스
arr = []
for x in range(3): # 격자 내에서 행 순회
for y in range(3): # 격자 내에서 열 순회
if arr.count(data[i + x][j + y]) > 0:
result = 0
break
else:
arr.append(data[i + x][j + y])
격자는 이렇게 처리한다.
* 정답 코드
t=int(input())
for tc in range(1,t+1):
result=1
arr=[]
data=[list(map(int,input().split())) for _ in range(9)]
#가로
for i in range(9):
arr=[]
for j in range(9):
if arr.count(data[i][j])>0:
result=0
break
else:
arr.append(data[i][j])
#세로
for i in range(9):
arr=[]
for j in range(9):
if arr.count(data[j][i])>0:
result=0
break
else:
arr.append(data[j][i])
#격자
for i in range(0, 9, 3): # 격자의 시작 행 인덱스
for j in range(0, 9, 3): # 격자의 시작 열 인덱스
arr = []
for x in range(3): # 격자 내에서 행 순회
for y in range(3): # 격자 내에서 열 순회
if arr.count(data[i + x][j + y]) > 0:
result = 0
break
else:
arr.append(data[i + x][j + y])
print(f'#{tc} {result}')
'코딩테스트 > SW Expert Academy' 카테고리의 다른 글
SWEA. D2 - 1954. 달팽이 숫자 Python (0) | 2023.10.25 |
---|---|
SWEA. D2 - 1970. 쉬운 거스름돈 Python (0) | 2023.10.20 |
SWEA(D2) 1976. 시각 덧셈 Python (0) | 2023.10.18 |
SWEA. D2(difficult) 1~10 Python (1) | 2023.10.16 |
SWEA D1(difficult) 11~20 Python (0) | 2023.10.16 |