💡문제접근
- 0~9까지의 방문 배열 만들기(중복 제외) + 부등호를 판별할 수 있는 함수를 만들기
💡코드(메모리 : 32140KB, 시간 : 148ms)
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10 ** 6)
k = int(input())
op = list(map(str, input().strip().split()))
visited = [False] * 10
answer = []
def check(a, b, op):
if a > b and op == ">":
return True
elif a < b and op == "<":
return True
else:
return False
def recursive(cnt, num):
global answer
if cnt == k+1:
answer.append(num)
return
for i in range(10):
if visited[i]:
continue
if cnt == 0 or check(int(num[cnt-1]), int(i), op[cnt-1]):
visited[i] = True
recursive(cnt+1, num+str(i))
visited[i] = False
recursive(0, '')
answer.sort(reverse=True)
print(answer[0])
print(answer[-1])
💡소요시간 : 41m