https://www.acmicpc.net/problem/2529
0~9 숫자를 정해진 부등호에 맞추어 나열하는 문제
순열인것을 파악하는 것이 중요하다.
재귀를 통해 문제 조건에 맞는 값을 도출하였다.
def recur2(cur):
if cur >= 2:
if budeungho[cur-2] == '>' and arr[cur-2] < arr[cur-1]:
return
elif budeungho[cur-2] == '<' and arr[cur-2] > arr[cur-1]:
return
if cur == n+1:
lst.append("".join(map(str, arr))) # 메모
return
for i in range(10):
if visited[i]:
continue
arr[cur] = i
visited[i] = True
recur2(cur + 1)
visited[i] = False
n = int(input())
budeungho = list(input().split())
arr = [0] * (n + 1)
visited = [False for _ in range(10)]
lst = []
recur2(0)
print(lst[-1])
print(lst[0])