백준 2529 부등호

청천·2022년 8월 26일
0

백준

목록 보기
11/41

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])

0개의 댓글