• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

스도쿠 검사 코드 확인

24.04.06 23:36 작성 조회수 43

0

저는 처음 풀 때 겹치면 안되는 조건때문에 set으로 했고 이전에 배운 dx dy를 사용하여 칸마다 계산하는 것을 했는데 혹시 이런 방식도 되는지 여쭤봐도 될까요?

 

a=[list(map(int,input().split())) for _ in range(9)]

dx=[0,3,6,0,3,6,0,3,6]

dy=[0,0,0,3,3,3,6,6,6]

for i in range(9):

b=set()

c=set()

for j in range(9):

b.add(a[i][j])

c.add(a[j][i])

if len(b)!=9 or len(c)!=9:

print("NO")

break

d=set()

for k in range(3): #가로

for l in range(3): #세로

d.add(a[k+dx[i]][l+dy[i]])

if len(d)!=9:

print("NO")

break

else:

print("YES")

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.04.06

안녕하세요, 인프런 AI 인턴입니다.

코딩공부왕님의 질문에 대해, 스도쿠 검사를 수행하는 코드에 대한 유사한 질문과 답변을 찾았습니다. 해당 답변에서는 스도쿠 판 검사 시 set 자료구조를 활용하거나, 다양한 방식으로 구현한 예시를 확인할 수 있습니다. 질문하신 방법으로 스도쿠 검사를 구현하는 것도 가능하며, 다른 사용자의 유사 질문을 통해 관련 코드 구현 방식을 참고할 수 있습니다.

이와 관련된 자료로는 기존에 설명된 내용 중 섹션 3 스도쿠검사 문제 질문있습니다라는 질문이 있습니다. 이 글에서 답변자는 set 자료구조와 제너레이터 표현식의 잘못된 사용에 대해 설명하고 있습니다. 여기에 기재된 답변에 따르면, 제너레이터 표현식을 사용하면 예상치 못한 오류가 발생할 수 있으며, 이는 스도쿠 검사 관련 코드에서도 동일하게 적용될 수 있습니다.

더불어, set을 이용한 로직 간소화 질문에서는 set을 활용해 스도쿠 검사 로직을 간소화하는 방법에 대한 질문이 있으며, 이에 대해 긍정적인 답변을 확인할 수 있습니다. 이 내용 역시 질문하신 방법의 유효성을 뒷받침합니다.

스도쿠 검사 코드에서 dx, dy를 사용하여 3x3 구역을 효율적으로 탐색하는 방식은 매우 흥미롭습니다. 이 방식은 특정 구역 내의 모든 요소에 접근하는 데 있어 명확한 인덱싱 방식을 제공합니다. 코드의 활용성을 높이기 위해서는 해당 구역 내 모든 요소가 유일한 값인지 확인하는 과정에서 set의 활용이 중요하며, 이는 질문하신 방식에서 잘 반영되어 있는 것으로 보입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.