백준 2529번 부등호 Python

0

Problem Solving

목록 보기
24/49
post-thumbnail

https://www.acmicpc.net/problem/2529

eval 함수를 이용해 부등호를 만족하는지 검사하고
백트래킹을 이용해 풀었음

k = int(input())
giho = list(input().split())
answer = []
visited = [0] * 10
def dfs(result, depth):
    if depth == k+1:
        answer.append(result)
        return 
    for i in range(10):
        if not visited[i]:
            if depth == 0 or eval(result[-1]+giho[depth-1]+str(i)):
                visited[i] = 1
                dfs(result+str(i), depth+1)
                visited[i] = 0
dfs("",0)

# for문 때문에 마지막에 나온게 max고 처음이 가장 작음
print(answer[-1])
print(answer[0])

0개의 댓글