작성
·
116
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 인턴입니다.
코딩공부왕님의 질문에 대해, 스도쿠 검사를 수행하는 코드에 대한 유사한 질문과 답변을 찾았습니다. 해당 답변에서는 스도쿠 판 검사 시 set
자료구조를 활용하거나, 다양한 방식으로 구현한 예시를 확인할 수 있습니다. 질문하신 방법으로 스도쿠 검사를 구현하는 것도 가능하며, 다른 사용자의 유사 질문을 통해 관련 코드 구현 방식을 참고할 수 있습니다.
이와 관련된 자료로는 기존에 설명된 내용 중 섹션 3 스도쿠검사 문제 질문있습니다라는 질문이 있습니다. 이 글에서 답변자는 set
자료구조와 제너레이터 표현식의 잘못된 사용에 대해 설명하고 있습니다. 여기에 기재된 답변에 따르면, 제너레이터 표현식을 사용하면 예상치 못한 오류가 발생할 수 있으며, 이는 스도쿠 검사 관련 코드에서도 동일하게 적용될 수 있습니다.
더불어, set을 이용한 로직 간소화 질문에서는 set
을 활용해 스도쿠 검사 로직을 간소화하는 방법에 대한 질문이 있으며, 이에 대해 긍정적인 답변을 확인할 수 있습니다. 이 내용 역시 질문하신 방법의 유효성을 뒷받침합니다.
스도쿠 검사 코드에서 dx
, dy
를 사용하여 3x3 구역을 효율적으로 탐색하는 방식은 매우 흥미롭습니다. 이 방식은 특정 구역 내의 모든 요소에 접근하는 데 있어 명확한 인덱싱 방식을 제공합니다. 코드의 활용성을 높이기 위해서는 해당 구역 내 모든 요소가 유일한 값인지 확인하는 과정에서 set
의 활용이 중요하며, 이는 질문하신 방식에서 잘 반영되어 있는 것으로 보입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.