Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 항해99솔직후기 #항해99 #부트캠프추천
- #내일배움단 #코딩프로젝트 #국비지원 #내일배움카드 #스파르타코딩클럽
- 부트스트랩 #Bootstrap #웹개발첫걸음 #스파르타코딩클럽
- 스파르타코딩클럽 #코딩 #jQuery #Ajax
- 스파르타코딩클럽 #크롤링 #스크래핑
Archives
- Today
- Total
이모저모
leetcode - n-queen : DFS, Backtracking 공부 본문
항해 강의에서 남병관 튜터님 설명을 듣고 다시 공부하고 코드 써보기!
계속 공부하다보면은 스스로 이런 문제를 풀어낼 수 있게 되길🐜📝✊
class Solution(object):
def solveNQueens(self, n):
"""
:type n: int
:rtype: List[List[str]]
"""
visited = [-1]*n
answers = []
def DFS(L):
if L == n:
grid = [['.']* n for _ in range(n)]
for v, i in enumerate(visited):
grid[i][v] = "Q"
result = []
for row in grid:
result.append(''.join(row))
answers.append(result)
return
else:
for col in range(n):
visited[L] = col
isPossible = True
for passed_row in range(L):
if visited[L] == visited[passed_row] or L-passed_row == abs(visited[L]-visited[passed_row]):
isPossible = False
if isPossible:
DFS(L+1)
DFS(0)
return answers
'coding > 알고리즘,자료구조' 카테고리의 다른 글
DFS - 백준 9095. 1,2,3의 합으로 n을 만드는 방법 수 (0) | 2022.01.24 |
---|---|
BFS 공부 - 미로 최단거리 (0) | 2022.01.24 |
BFS 연습 - 사과나무밭 다이아몬드 수확 (0) | 2022.01.24 |
DFS 연습 - 양팔저울과 추 (0) | 2022.01.23 |
DFS 연습 - 휴가 가기 전 N일 동안 최대 수익 계산 (0) | 2022.01.23 |
Comments