기본적인 다익스트라, BFS 문제였다. 생각할 점은누적값을 저장할 공간 만들기값이 더 작을 경우에만 큐에 넣기칸 안에 있는 지 검사하기 - valid 함python 에서 false 가 아니라 False 임 - 대문자..최대값 쓰고 싶으면 float('inf') 사용하기def valid(n_x, n_y): if n_x = N or n_y >= N: return False return True def bfs(start): q = [start] min_board = [[float('inf')] * N for _ in range(N)] min_board[start[0]][start[1]] = 0 dx, dy = [1, 0, -1, 0], [0, 1, 0, -..
BFS를 해결한 풀이로,문제를 제대로 안 읽어서 시간이 더 소요됐다. 추적 시작점이 2였다는 것...! 그냥 맨 끝 요소가 타깃인 줄 알았다. visited를 Set으로 쓰면 조금더 성능이 향상되지 않을까 싶다!(x, y 의 쓰임이 좌표값과는 다르다.. row, column 값인데 양해 바랍니다...)def valid(x, y, visited): return 0
백트래킹 문제이다. 조건은 1. 교환 횟수를 다 쓰거나2. 이미 방문했던 노드이면 더이상 탐색하지 않는다. def dfs(cnt): global answer if cnt == c: answer = max(answer, int(''.join(map(str, lst)))) return for i in range(len(lst) - 1): for j in range(i + 1, len(lst)): lst[i], lst[j] = lst[j], lst[i] check = ''.join(lst) if (cnt, check) not in track: df..