๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
[v.๋ฐฑํธ๋ํน-N-Queen-9663]BAEKJOON_Python ๋ณธ๋ฌธ
[v.๋ฐฑํธ๋ํน-N-Queen-9663]BAEKJOON_Python
์ง์ง์ํ์นด 2022. 1. 26. 15:40220126 ์์ฑ
<๋ณธ ๋ธ๋ก๊ทธ๋ BAEKJOON ์ ์ฐธ๊ณ ํด์ ์ ๋ง์ ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค>
9663
N-Queen ๋ฌธ์ ๋ ํฌ๊ธฐ๊ฐ N × N์ธ ์ฒด์คํ ์์ ํธ N๊ฐ๋ฅผ ์๋ก ๊ณต๊ฒฉํ ์ ์๊ฒ ๋๋ ๋ฌธ์
N์ด ์ฃผ์ด์ก์ ๋, ํธ์ ๋๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ
๋ด ํ์ด
def backTracking(rowPos) :
global answer
# ํธ ๋ชจ๋ ๋ฐฐ์นํ๋ฉด ๋!
if rowPos == n :
answer += 1
return
for col in range(n) :
flag = True
# ์ด์ ํ๋ค
for row in range(rowPos) :
# ๊ฐ์ ์ด์ ์๊ฑฐ๋, ๋๊ฐ์ ์ ํธ์ด ์ด๋ฏธ ์กด์ฌํ๋ฉด ๊ฐ์ง์น๊ธฐ
if queenLocate[row] == col or rowPos -row == abs(col-queenLocate[row]) :
flag = False
break
if flag :
queenLocate[rowPos] = col
backTracking(rowPos + 1)
n = int(input())
answer = 0
# ๊ฐ row ๋ง๋ค queen ์์น ์ธ๋ฑ์ค ์ ์ฅ๋ฆฌ์คํธ
queenLocate = [0] * n
backTracking(0)
print(answer)
1. ๊ฐ ํ๋ง๋ค Queen์ ํ๋๋ง ์กด์ฌํด์ผ ํ๋ฏ๋ก, ๋งจ ์ ํ๋ถํฐ ๋ด๋ ค์ค๊ธฐ
2. ๊ฐ ํ์์ ์ด์ ํ๋ค์ ๊ด์ฐฐํ๋ฉด์ ๊ฐ์ ์ด์ด๋ ๋๊ฐ์ ์ ํธ์ด ์๋ค๋ฉด ๊ฐ์ง์น๊ธฐ
3. ๋งจ ๋ฐ์ ํ๊น์ง ํธ์ ์์นํ ์ ์๋ค๋ฉด ๊ฒฝ์ฐ์ ์๋ฅผ ํ๋ ์ฆ๊ฐ
8
92
์ฐธ๊ณ ํ ๋ธ๋ก๊ทธ ์ ๋๋ค! ์ค๋ช ๊ฐ์ฌํฉ๋๋ค1 bbb
์ฒด์ค,, ์๋ฆฌ ๋ชจ๋ฅด๋ฉด ๋ชป ํ ๋ฏ์ ใ ก,ใ ก,ใ ใ กใ
์์ง๋ ์ดํด๊ฐ ์๊ฐ๋์ผใ ก,,
https://studyandwrite.tistory.com/393
[๋ฐฑ์ค(ํ์ด์ฌ/Python)] 9663_N-Queen - ๋ฐฑํธ๋ํน
https://www.acmicpc.net/problem/9663 9663๋ฒ: N-Queen N-Queen ๋ฌธ์ ๋ ํฌ๊ธฐ๊ฐ N × N์ธ ์ฒด์คํ ์์ ํธ N๊ฐ๋ฅผ ์๋ก ๊ณต๊ฒฉํ ์ ์๊ฒ ๋๋ ๋ฌธ์ ์ด๋ค. N์ด ์ฃผ์ด์ก์ ๋, ํธ์ ๋๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ..
studyandwrite.tistory.com
'๐ฆฅ ์ฝํ > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[v.๋ฐฑํธ๋ํน-์ฐ์ฐ์ ๋ผ์๋ฃ๊ธฐ-14888]BAEKJOON_Python (0) | 2022.01.27 |
---|---|
[v.๋ฐฑํธ๋ํน-์ค๋์ฟ -2580]BAEKJOON_Python (0) | 2022.01.26 |
[v.๋ฐฑํธ๋ํน-N๊ณผ M (4)-15652]BAEKJOON_Python (0) | 2022.01.26 |
[v.๋ฐฑํธ๋ํน-N๊ณผ M (3)-15651]BAEKJOON_Python (0) | 2022.01.26 |
[v.๋ฐฑํธ๋ํน-N๊ณผ M (2)-15650]BAEKJOON_Python (0) | 2022.01.26 |