-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
질문있습니다.
20.08.05 18:05 작성 조회수 112
0
선생님 강의를 잘 보고 배워나가고 있습니다.
list말고 set의 특성을 사용해서 짜보았는데 가능한지 그리고 가능한데 현재 돌아 가지 않는데 틀린 부분이 무엇 인지 궁금합니다.
N=[list(map(int,input().split())for _ in range(9))]
a,b={},{}
for i in range(9):
for j in range(9):
a.add(N[i][j])
b.add(N[j][i])
if(len(a)!=9):
print('NO')
break
if(len(a)==9):
a={}
if(len(b)!=9):
print('NO')
break
if(len(b)==9):
b={}
for x in range(0,6,3):
for y in range(x,x+3):
for z in range(x,x+3):
a.add(N[y][z])
if(len(a)!=9):
print('NO')
break
if(len(a)==9):
a={}
if(len(a)==0):
print('YES')
답변을 작성해보세요.
0
김태원
지식공유자2020.08.06
안녕하세요^^
1. a={} 와 같이 선언하면 set 자료구조가 아니라 딕셔너리입니다. set은 a=set() 이렇게 선언해야 합니다.
2. 입력을 이차원 리스트로 읽을 때는 N=[list(map(int,input().split()))for _ in range(9)]
list 함수의 괄호를 for문 전에 닫아주어야 2차원 리스트로 읽습니다.
위 두 가지를 고쳐야 일단 에러가 나지 않습니다. 그 다음 100점이 나오지 않는 논리적인 것은 스스로 디버그하면서 고쳐보세요.
답변 1