def recur(cnt, n): global answer if cnt == n: # n만큼 바꿔줬다면 temp = ''.join(board) # 문자열로 바꿔주기 if answer < temp: # answer에 저장되어있는 값보다 크다면 갱신 answer = temp return for i in range(len_b): for j in range(i+1, len_b): # 현재 자리(i)의 다음자리부터 비교 board[i], board[j] = board[j], board[i] # 바꾸기 temp = ''.join(board) # 문자열로 바꿔 if visited.get((temp, cnt), 1): # 중복 아니라면 visited[(temp, cnt)] = 0 # visited에 저장 recur(c..