본문 바로가기
코딩 테스트/코딩 테스트 - 문제

[프로그래머스] N-Queen

by 안스 인민군 2023. 2. 20.
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

이 문제는 정말 5번이상 풀었지만 계속 풀이법을 근접할 뿐 풀지를 못했다....

담에는 풀 수 있겠지...??

cols = []
result = 0
def Check(row, col):
    global cols
    for i in range(row):
        if cols[i] == col: return False
        if row - col == i - cols[i]: return False
        if row+col == i + cols[i]: return False
    return True
def backtracking(row,n):
    global cols,result
    if row == n:
        result += 1
        return

    for col in range(n):
        if Check(row,col):
            cols[row] = col
            backtracking(row+1,n)

def solution(n):
    global result,cols
    cols = [0]*n
    backtracking(0,n)
    return result