티스토리 뷰

알고리즘

wip: 백준 2580번 스도쿠

killog 2020. 12. 3. 16:15
반응형
from  collections import Counter as c
def cd(data_list):
    return dict(c(data_list))

def zero_counts_in_row(data_list):  # 한줄에 0 개수 세기
    d = dict(c(data_list))
    return d[0]

def zero_index_in_row(data_list): # 제로 인덱스 찾기
    if 0 in data_list:
        return data_list.index(0)
    else:
        return -1
    
    
def changeEventHandler(node):
    print(node)
maps=[
   [ 0, 3, 5, 4, 6, 9, 2, 7, 8],
[7, 8, 2, 1, 0, 5, 6, 0, 9],
[0, 6, 0, 2, 7, 8, 1, 3, 5],
[3, 2, 1, 0, 4, 6, 8, 9, 7],
[8, 0, 4, 9, 1, 3, 5, 0, 6],
[5, 9, 6, 8, 2, 0, 4, 1, 3],
[9, 1, 7, 6, 5, 2, 0, 8, 0],
[6, 0, 3, 7, 0, 1, 9, 5, 2],
[2, 5, 8, 3, 9, 4, 7, 6, 0]
]
for i in range(len(maps)):
    if zero_counts_in_row(maps[i])==1:
        index = zero_index_in_row(maps[i])
        maps[i][index]=45-sum(maps[i])
        changeEventHandler([i,index])
maps=[[1, 3, 5, 4, 6, 9, 2, 7, 8],
      [7, 8, 2, 1, 0, 5, 6, 0, 9],
      [0, 6, 0, 2, 7, 8, 1, 3, 5], 
      [3, 2, 1, 5, 4, 6, 8, 9, 7],
      [8, 0, 4, 9, 1, 3, 5, 0, 6], 
      [5, 9, 6, 8, 2, 7, 4, 1, 3],
      [9, 1, 7, 6, 5, 2, 0, 8, 0],
      [6, 0, 3, 7, 0, 1, 9, 5, 2],
      [2, 5, 8, 3, 9, 4, 7, 6, 1] ]
반응형

'알고리즘' 카테고리의 다른 글

백준 10989번 수 정렬하기 3  (0) 2020.12.04
백준 1065번 한수  (0) 2020.12.03
백준 9663번 N-Queen 파이썬  (0) 2020.12.03
백준 15652번 N과 M (4)  (0) 2020.12.02
백준 15650번 N과 M (2) 파이썬 ( 백트래킹 기초)  (0) 2020.12.02
댓글