부등호가 최대 9개 밖에 없기 때문에 완탐으로도 시간내에 할 수 있을 것 같다
private static boolean possible(int i, int j, String k) {
if (k.equals("<")) {
return i < j;
} else {
return i > j;
}
}
private static boolean dfs(int depth, String s) {
// n + 1 번에 종료 된다.
if (depth == n + 1) {
// 가장 먼저 작은 숫자가 셋팅이 된다
if (min.isEmpty()) {
min = s;
} else {
max = s;
}
}
for (int i = 0; i < 10; i++) {
// 중복방지 하고 0번째 인덱스에 맞는 문자를 등록하게 한다
if (!visited[i] && (depth == 0 ||
possible(s.charAt(depth - 1), i + '0', s.charAt(depth - 1))) {
visited[i] = true;
dfs(depth + 1, s + i);
visited[i] = false;
}
}
}