• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

스도쿠 질문입니다.

20.09.05 15:37 작성 조회수 171

0

안녕하세요.

먼저 저번 질문에 답해주신거 감사합니다.

이번에는 스도쿠 질문입니다.

저는 스도쿠 문제중 저렇게 초록색 부분을 강사님과는 다르게 좌표로 찍어서 할려고 했습니다.

예를들어, 빨간색 동그라미 7인경우 [1,1]에서 

dx = [-1,-1,-1,0,0,0,1,1,1]

dy = [-1,0,1,-1,0,1,-1,0,1]

로 설정한다음 checklist,append하는 방식으로 했습니다.

이 후 sorted를 통하여 1~9까지가 정확히 맞으면 True, 아니면 False를 반환했습니다.

-------코드----------------

checkpointx = [1,1,1,4,4,4,7,7,7]

checkpointy = [1,1,1,4,4,4,7,7,7]

checkanswer = [1,2,3,4,5,6,7,8,9]

dx = [-1,-1,-1,0,0,0,1,1,1]

dy = [-1,0,1,-1,0,1,-1,0,1]

for i in checkpointx:

    for j in checkpointy:

        for k in range(9):

            #print(k)

            checklist.append(a[i+dx[k]][j+dy[k]])

        print(checklist)

        checklist = sorted(checklist)

        if checklist != checkanswer:

            ch3 = False

        checklist = []

------출력----------

print(checklist)

[1, 4, 3, 5, 7, 2, 9, 8, 6]

[1, 4, 3, 5, 7, 2, 9, 8, 6]

[1, 4, 3, 5, 7, 2, 9, 8, 6]

[6, 2, 8, 1, 3, 9, 7, 5, 4]

[6, 2, 8, 1, 3, 9, 7, 5, 4]

[6, 2, 8, 1, 3, 9, 7, 5, 4]

[5, 7, 9, 4, 6, 8, 2, 3, 1]

[5, 7, 9, 4, 6, 8, 2, 3, 1]

[5, 7, 9, 4, 6, 8, 2, 3, 1]

[1, 4, 3, 5, 7, 2, 9, 8, 6]

[1, 4, 3, 5, 7, 2, 9, 8, 6]

[1, 4, 3, 5, 7, 2, 9, 8, 6]

[6, 2, 8, 1, 3, 9, 7, 5, 4]

[6, 2, 8, 1, 3, 9, 7, 5, 4]

[6, 2, 8, 1, 3, 9, 7, 5, 4]

[5, 7, 9, 4, 6, 8, 2, 3, 1]

[5, 7, 9, 4, 6, 8, 2, 3, 1]

[5, 7, 9, 4, 6, 8, 2, 3, 1]

[1, 4, 3, 5, 7, 2, 9, 8, 6]

[1, 4, 3, 5, 7, 2, 9, 8, 6]

[1, 4, 3, 5, 7, 2, 9, 8, 6]

[6, 2, 8, 1, 3, 9, 7, 5, 4]

[6, 2, 8, 1, 3, 9, 7, 5, 4]

[6, 2, 8, 1, 3, 9, 7, 5, 4]

[5, 7, 9, 4, 6, 8, 2, 3, 1]

[5, 7, 9, 4, 6, 8, 2, 3, 1]

[5, 7, 9, 4, 6, 8, 2, 3, 1]

[3, 9, 1, 4, 6, 8, 7, 2, 5]

[3, 9, 1, 4, 6, 8, 7, 2, 5]

[3, 9, 1, 4, 6, 8, 7, 2, 5]

[5, 4, 2, 9, 1, 7, 8, 6, 3]

[5, 4, 2, 9, 1, 7, 8, 6, 3]

[5, 4, 2, 9, 1, 7, 8, 6, 3]

[7, 8, 6, 3, 5, 2, 9, 1, 4]

[7, 8, 6, 3, 5, 2, 9, 1, 4]

[7, 8, 6, 3, 5, 2, 9, 1, 4]

[3, 9, 1, 4, 6, 8, 7, 2, 5]

[3, 9, 1, 4, 6, 8, 7, 2, 5]

[3, 9, 1, 4, 6, 8, 7, 2, 5]

[5, 4, 2, 9, 1, 7, 8, 6, 3]

[5, 4, 2, 9, 1, 7, 8, 6, 3]

[5, 4, 2, 9, 1, 7, 8, 6, 3]

[7, 8, 6, 3, 5, 2, 9, 1, 4]

[7, 8, 6, 3, 5, 2, 9, 1, 4]

[7, 8, 6, 3, 5, 2, 9, 1, 4]

[3, 9, 1, 4, 6, 8, 7, 2, 5]

[3, 9, 1, 4, 6, 8, 7, 2, 5]

[3, 9, 1, 4, 6, 8, 7, 2, 5]

[5, 4, 2, 9, 1, 7, 8, 6, 3]

[5, 4, 2, 9, 1, 7, 8, 6, 3]

[5, 4, 2, 9, 1, 7, 8, 6, 3]

[7, 8, 6, 3, 5, 2, 9, 1, 4]

[7, 8, 6, 3, 5, 2, 9, 1, 4]

[7, 8, 6, 3, 5, 2, 9, 1, 4]

[2, 3, 7, 6, 1, 9, 8, 5, 4]

[2, 3, 7, 6, 1, 9, 8, 5, 4]

[2, 3, 7, 6, 1, 9, 8, 5, 4]

[4, 8, 1, 2, 7, 5, 3, 9, 6]

[4, 8, 1, 2, 7, 5, 3, 9, 6]

[4, 8, 1, 2, 7, 5, 3, 9, 6]

[6, 9, 5, 8, 4, 3, 1, 2, 7]

[6, 9, 5, 8, 4, 3, 1, 2, 7]

[6, 9, 5, 8, 4, 3, 1, 2, 7]

[2, 3, 7, 6, 1, 9, 8, 5, 4]

[2, 3, 7, 6, 1, 9, 8, 5, 4]

[2, 3, 7, 6, 1, 9, 8, 5, 4]

[4, 8, 1, 2, 7, 5, 3, 9, 6]

[4, 8, 1, 2, 7, 5, 3, 9, 6]

[4, 8, 1, 2, 7, 5, 3, 9, 6]

[6, 9, 5, 8, 4, 3, 1, 2, 7]

[6, 9, 5, 8, 4, 3, 1, 2, 7]

[6, 9, 5, 8, 4, 3, 1, 2, 7]

[2, 3, 7, 6, 1, 9, 8, 5, 4]

[2, 3, 7, 6, 1, 9, 8, 5, 4]

[2, 3, 7, 6, 1, 9, 8, 5, 4]

[4, 8, 1, 2, 7, 5, 3, 9, 6]

[4, 8, 1, 2, 7, 5, 3, 9, 6]

[4, 8, 1, 2, 7, 5, 3, 9, 6]

[6, 9, 5, 8, 4, 3, 1, 2, 7]

[6, 9, 5, 8, 4, 3, 1, 2, 7]

[6, 9, 5, 8, 4, 3, 1, 2, 7]

[1, 4, 3, 5, 7, 2, 9, 8, 6]

[1, 4, 3, 5, 7, 2, 9, 8, 6]

[1, 4, 3, 5, 7, 2, 9, 8, 6]

[1, 4, 3, 5, 7, 2, 9, 8, 6]

[1, 4, 3, 5, 7, 2, 9, 8, 6]

[1, 4, 3, 5, 7, 2, 9, 8, 6]

이렇게 3개+3개씩 같은게 나옵니다.

정답은 맞았습니다만, 여기서 수정을 뭘 해야할지 헷갈립니다.

제가 하고싶은건 한번만 확인할려고 하는겁니다. 이렇게 6번확인하지않고싶습니다.

강사님이 도와주시면 정말 감사합니다. 몇시간째 싸메는데 생각이 안나네요.

답변 2

·

답변을 작성해보세요.

0

네 다음엔 전부 올릴게요 감사합니다

0

안녕하세요^^

checkpointx = [1, 4, 7]

checkpointy = [1, 4, 7]

이렇게만 초기화 하면 될 것 같습니다.

다음부터는 본인 코드의 문제점을 질문하실때는 부분코드보다는 실제 채점받은 전체코드를 {;} 버튼을 사용해서 올려주시면 제가 질문하신 내용을 이해하기 편하고, 제가 생각한 해법이 올바른 해법인지 실행시켜 확인해 볼수 있습니다.