강의

멘토링

커뮤니티

Inflearn Community Q&A

sunggil10121140's profile image
sunggil10121140

asked

Introduction to Python Algorithm Problem Solving (Coding Test Preparation)

10. Stoku Test

질문있습니다.

Written on

·

165

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')
python코테 준비 같이 해요!

Answer 1

0

codingcamp님의 프로필 이미지
codingcamp
Instructor

안녕하세요^^

1. a={} 와 같이 선언하면 set 자료구조가 아니라 딕셔너리입니다. set은 a=set() 이렇게 선언해야 합니다.

2. 입력을 이차원 리스트로 읽을 때는 N=[list(map(int,input().split()))for _ in range(9)] 

     list 함수의 괄호를 for문 전에 닫아주어야 2차원 리스트로 읽습니다. 

위 두 가지를 고쳐야 일단 에러가 나지 않습니다. 그 다음 100점이 나오지 않는 논리적인 것은 스스로 디버그하면서 고쳐보세요.

sunggil10121140's profile image
sunggil10121140

asked

Ask a question