๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[v.๋ฐฑํŠธ๋ž˜ํ‚น-์Šค๋„์ฟ -2580]BAEKJOON_Python ๋ณธ๋ฌธ

๐Ÿฆฅ ์ฝ”ํ…Œ/BAEKJOON

[v.๋ฐฑํŠธ๋ž˜ํ‚น-์Šค๋„์ฟ -2580]BAEKJOON_Python

์ง•์ง•์•ŒํŒŒ์นด 2022. 1. 26. 15:55
728x90
๋ฐ˜์‘ํ˜•

220126 ์ž‘์„ฑ

<๋ณธ ๋ธ”๋กœ๊ทธ๋Š” BAEKJOON ์„ ์ฐธ๊ณ ํ•ด์„œ ์ €๋งŒ์˜ ํ’€์ด๋ฅผ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค>

 

 

 

2580


์Šค๋„์ฟ  ํŒ์˜ ๋นˆ ์นธ์˜ ๊ฒฝ์šฐ์—๋Š” 0์ด ์ฃผ์–ด์ง„๋‹ค
๊ฒŒ์ž„ ์‹œ์ž‘ ์ „ ์Šค๋„์ฟ  ํŒ์— ์“ฐ์—ฌ ์žˆ๋Š” ์ˆซ์ž๋“ค์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๋ชจ๋“  ๋นˆ ์นธ์ด ์ฑ„์›Œ์ง„ ์ตœ์ข… ๋ชจ์Šต์„ ์ถœ๋ ฅ


 

 

๋‚ด ํ’€์ด

import sys

graph = []
blank = []

for i in range(9) :
    graph.append(list(map(int, sys.stdin.readline().rstrip().split())))   # rstip : ์ธ์ž๋กœ ์ „๋‹ฌ๋œ ๋ฌธ์ž๋ฅผ String์˜ ์˜ค๋ฅธ์ชฝ์—์„œ ์ œ๊ฑฐ

for i in range(9) :
    for j in range(9) :
        if graph[i][j] == 0 :     # 0์œผ๋กœ ๋น„์–ด ์žˆ์œผ๋ฉด!
            blank.append((i,j))

def checkRow(x, a) :
    for i in range(9) :
        if a == graph[x][i] :
            return False
    return True

def checkCol(y, a) :
    for i in range(9) :
        if a == graph[i][y] :
            return False
    return True

def checkRect(x, y, a) :
    nx = x // 3 * 3
    ny = y // 3 * 3

    for i in range(3) :
        for j in range(3) :
            if a == graph[nx+i][ny+j] :
                return False
    return True

def dfs(idx) :
    if idx == len(blank) :
        for i in range(9) :
            print(*graph[i])
        exit(0)

    for i in range(1, 10) :
        x = blank[idx][0]
        y = blank[idx][1]

        if checkRow(x, i) and checkCol(y, i) and checkRect(x, y, i) :
            graph[x][y] = i
            dfs(idx + 1)
            graph[x][y] = 0

dfs(0)

 

 

 

 

 

 

 

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

// ๊ฒฐ๊ณผ
1 3 5 4 6 9 2 7 8
7 8 2 1 3 5 6 4 9
4 6 9 2 7 8 1 3 5
3 2 1 5 4 6 8 9 7
8 7 4 9 1 3 5 2 6
5 9 6 8 2 7 4 1 3
9 1 7 6 5 2 3 8 4
6 4 3 7 8 1 9 5 2
2 5 8 3 9 4 7 6 1

 

๋‚œ ์ ˆ๋Œ€.. ํ˜ผ์ž ๋ชจํƒœ.. .์ ˆ๋Œ€๋กœ..ใ…œใ…กใ…œ

 

 

 

 

 

 

์ž์„ธํ•œ ์„ค๋ช… ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹น

์ฐธ๊ณ ํ•œ ๋ธ”๋กœ๊ทธ ์ž…๋‹ˆ๋‹ค!! bb

https://hongcoding.tistory.com/118

 

[๋ฐฑ์ค€] 2580 ์Šค๋„์ฟ  (Python ํŒŒ์ด์ฌ)

https://www.acmicpc.net/problem/2580 2580๋ฒˆ: ์Šค๋„์ฟ  ์Šค๋„์ฟ ๋Š” 18์„ธ๊ธฐ ์Šค์œ„์Šค ์ˆ˜ํ•™์ž๊ฐ€ ๋งŒ๋“  '๋ผํ‹ด ์‚ฌ๊ฐํ˜•'์ด๋ž‘ ํผ์ฆ์—์„œ ์œ ๋ž˜ํ•œ ๊ฒƒ์œผ๋กœ ํ˜„์žฌ ๋งŽ์€ ์ธ๊ธฐ๋ฅผ ๋ˆ„๋ฆฌ๊ณ  ์žˆ๋‹ค. ์ด ๊ฒŒ์ž„์€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๊ฐ€๋กœ,

hongcoding.tistory.com

 

728x90
๋ฐ˜์‘ํ˜•
Comments